Details

Time bar (total: 14.5s)

analyze431.0ms (3%)

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)

sample7.9s (54.3%)

Results
3.8s4222×body1024valid
1.3s2093×body512valid
1.1s2023×body1024infinite
760.0ms1000×body512infinite
432.0ms1653×body256infinite
347.0ms1708×body256valid
173.0ms233×body2048valid
Bogosity

preprocess81.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 12 computations (20% saved)

simplify104.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 24 to 13 computations (45.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
44.4b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
44.4b
(*.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)))
5.8b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite83.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify138.0ms (0.9%)

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

Useful iterations: 3 (0.0ms)

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

eval28.0ms (0.2%)

Compiler

Compiled 2021 to 1017 computations (49.7% saved)

prune20.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1064110
Fresh000
Picked011
Done000
Total1065111
Error
0.1b
Counts
111 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
44.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
1.5b
(*.f64 (sin.f64 re) (neg.f64 im))
46.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 61 to 45 computations (26.2% saved)

localize10.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)
5.8b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 36 to 10 computations (72.2% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite70.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify644.0ms (4.4%)

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

Useful iterations: 3 (0.0ms)

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

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)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite88.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify239.0ms (1.6%)

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

Useful iterations: 3 (0.0ms)

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

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 23 computations (37.8% saved)

series4.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite153.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01369
19169
219669
340069
482169
5196569
6423669
7679069
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) -1/6)
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) -1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)))))

simplify291.0ms (2%)

Algorithm
egg-herbie
Rules
1732×rational.json-simplify-35
1628×rational.json-simplify-1
1622×rational.json-simplify-2
1440×rational.json-simplify-53
928×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01392372
13012248
27552176
315842128
434422128
541632128
643662128
746392128
852502128
956192128
1070822128
1174492128
1276732128
Stop Event
node limit
Counts
96 → 81
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) 64)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
Outputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.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 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 7)))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.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 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.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 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 (pow.f64 im 3) -1/6))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 (pow.f64 im 3) -1/6) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 3) -2/3))))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 (pow.f64 im 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)) (*.f64 (sin.f64 re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)) (sin.f64 re)) 2)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 8)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))) 16)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) 32)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))))) 64)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(-.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im -1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 8)))) 64)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(pow.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 45 to 24 computations (46.7% saved)

series7.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite107.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
2006×rational.json-1
1314×rational.json-simplify-35
1018×exponential.json-3
1018×rational.json-2
1018×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01466
110056
222856
349556
4101456
5249056
6482256
7768556
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 1 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (sin.f64 re) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.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)) 1/2) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)))))

simplify336.0ms (2.3%)

Algorithm
egg-herbie
Rules
2282×rational.json-simplify-2
1834×rational.json-simplify-35
1096×rational.json-simplify-51
958×exponential.json-simplify-26
920×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01423338
13182888
27182888
318092852
439092852
546562852
650812852
753852852
860242852
965022852
1073712852
1177212852
Stop Event
node limit
Counts
88 → 77
Calls
Call 1
Inputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 7) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/720 (pow.f64 im 3)) (*.f64 -1/120 im)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/30240 (pow.f64 im 3)) (*.f64 1/5040 im)) (pow.f64 re 7)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/720 (pow.f64 im 3)) (*.f64 -1/120 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 (*.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 -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 (*.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 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(*.f64 (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 1 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 2 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 1/2)
(*.f64 (*.f64 (sin.f64 re) 2) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(*.f64 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (sin.f64 re))
(*.f64 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))
(*.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 1/4)
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (sin.f64 re) 1/2))
(*.f64 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)) 2)
(*.f64 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (*.f64 (sin.f64 re) 2))
(*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) (*.f64 (sin.f64 re) 2))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 2)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))))) 64)
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
Outputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 1/36 (pow.f64 (*.f64 re im) 3)))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 1/36 (pow.f64 (*.f64 re im) 3)))
(*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3)))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 -1/720 (*.f64 (pow.f64 im 3) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (*.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 5) -1/720))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 3) -1/720))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/720 (pow.f64 re 5)) (*.f64 -1/6 re))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 -1/720 (pow.f64 re 5)))))
(+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 3) (pow.f64 im 3))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 5) (pow.f64 im 3))) (+.f64 (*.f64 1/30240 (*.f64 (pow.f64 re 7) (pow.f64 im 3))) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 3) (pow.f64 re 5))) (+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 1/30240 (*.f64 (pow.f64 im 3) (pow.f64 re 7))))))
(+.f64 (*.f64 1/36 (pow.f64 (*.f64 re im) 3)) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 7) 1/30240)) (*.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 5) -1/720)))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 (pow.f64 re 5) (*.f64 (pow.f64 im 3) -1/720)) (*.f64 (pow.f64 re 7) (*.f64 (pow.f64 im 3) 1/30240))) (*.f64 1/36 (pow.f64 (*.f64 re im) 3))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/6 re) (*.f64 1/36 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/30240 (pow.f64 re 7)) (*.f64 -1/720 (pow.f64 re 5)))))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/720 (pow.f64 im 3)) (*.f64 -1/120 im)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120))) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36)))))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120)))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120)))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 im) (*.f64 1/36 (pow.f64 im 3))) (pow.f64 re 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/30240 (pow.f64 im 3)) (*.f64 1/5040 im)) (pow.f64 re 7)) (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 -1/720 (pow.f64 im 3)) (*.f64 -1/120 im))))))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120))) (*.f64 (pow.f64 re 7) (+.f64 (*.f64 (pow.f64 im 3) 1/30240) (*.f64 im 1/5040))))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 (pow.f64 im 3) 1/30240) (*.f64 im 1/5040))) (+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120))))))
(+.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 im 1/6) (*.f64 (pow.f64 im 3) 1/36))) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 (pow.f64 im 3) -1/720) (*.f64 im -1/120))) (*.f64 (pow.f64 re 7) (+.f64 (*.f64 (pow.f64 im 3) 1/30240) (*.f64 im 1/5040))))))
(+.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 -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 (*.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 -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 (*.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 -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 (*.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 -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 (*.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 -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 (*.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 -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 (*.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 -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 (*.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 -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 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.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 -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 (*.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 -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 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.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 -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 (*.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 -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 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.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 -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 (*.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 -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 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 0)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/3)) 2)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)) 4)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))) 8)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))) 16)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) 32)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -2/3)))))) 64)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)) 1)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(-.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 1 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 2 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 2 (*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 1/2)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) 2) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) 2) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 4 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 1/4)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 1/2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) (*.f64 (sin.f64 re) 1/2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2)) 2)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) 1/2) (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 1/2) (*.f64 (sin.f64 re) 2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 1/4 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (/.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)) 2) (*.f64 (sin.f64 re) 2))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 2) 2)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4) 4)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)) 8)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))) 16)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) 32)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 4))))) 64)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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)))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im))) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 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)))

eval189.0ms (1.3%)

Compiler

Compiled 6203 to 3902 computations (37.1% saved)

prune53.0ms (0.4%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New3364340
Fresh000
Picked011
Done134
Total3378345
Error
0.1b
Counts
345 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.5b
(*.f64 (sin.f64 re) (neg.f64 im))
31.8b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
32.1b
(*.f64 re (neg.f64 im))
31.8b
(*.f64 1/2 (+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 -2 (*.f64 re im))))
46.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 94 to 69 computations (26.6% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 59 to 37 computations (37.3% saved)

series6.0ms (0%)

Counts
4 → 15
Calls

24 calls:

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

rewrite843.0ms (5.8%)

Algorithm
batch-egg-rewrite
Rules
2898×rational.json-simplify-2
1474×rational.json-simplify-35
1284×exponential.json-3
1284×rational.json-1
1284×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01382
18982
218776
339176
474576
5178176
6361076
7495076
8595076
9690276
10695476
11702276
Stop Event
node limit
Counts
4 → 84
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 3))
(*.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 -2 (*.f64 re im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) 1/2)) (*.f64 re (*.f64 (pow.f64 im 3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -1/6) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 im -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 re (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (*.f64 im -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 im (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 im (+.f64 re re)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im -8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re im) 8) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (*.f64 im -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)))))

simplify190.0ms (1.3%)

Algorithm
egg-herbie
Rules
2746×rational.json-simplify-2
2016×rational.json-simplify-35
1080×rational.json-simplify-43
876×rational.json-simplify-49
864×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01872221
14512213
210192201
330522201
450812201
561282201
670142201
775612201
878922201
Stop Event
node limit
Counts
99 → 100
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -2 (*.f64 re im))
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 re (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) 1/2)) (*.f64 re (*.f64 (pow.f64 im 3) 1/2)))
(-.f64 (*.f64 re (pow.f64 im 3)) 0)
(/.f64 (*.f64 re (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) 4)) 4)
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))))) 128)
(pow.f64 (*.f64 re (pow.f64 im 3)) 1)
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(+.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))
(+.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -1/6) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6))
(-.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 2)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))))) 128)
(pow.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(+.f64 (*.f64 re (*.f64 im -2)) 0)
(+.f64 0 (*.f64 re (*.f64 im -2)))
(+.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))
(+.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)
(-.f64 (*.f64 re (*.f64 im -2)) 0)
(-.f64 0 (*.f64 im (+.f64 re re)))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(-.f64 1 (+.f64 1 (*.f64 im (+.f64 re re))))
(-.f64 -1 (+.f64 (*.f64 im (+.f64 re re)) -1))
(-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)
(/.f64 (*.f64 re (*.f64 im -2)) 1)
(/.f64 (*.f64 im (+.f64 re re)) -1)
(/.f64 (*.f64 re (*.f64 im -4)) 2)
(/.f64 (*.f64 re (*.f64 im 4)) -2)
(/.f64 (*.f64 re (*.f64 im -8)) 4)
(/.f64 (*.f64 (*.f64 re im) 8) -4)
(/.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))))) 128)
(pow.f64 (*.f64 re (*.f64 im -2)) 1)
(neg.f64 (*.f64 im (+.f64 re re)))
(neg.f64 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(-.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 0)
(*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
(*.f64 1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(*.f64 2 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2))
(*.f64 (+.f64 re re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 1/2)
(*.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))
(*.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 1/4)
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) re)
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 1/2 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)))
(*.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)) 2)
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2) (+.f64 re re))
(*.f64 1/4 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))
(*.f64 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 re re))
(*.f64 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))) 1/2)
(*.f64 (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)) (*.f64 re 1/2))
(/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
(/.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 2)
(/.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)
(/.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))))) 128)
(pow.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
Outputs
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 -2 im) (*.f64 -1/3 (pow.f64 im 3))) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2)) (neg.f64 re))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im im)) (neg.f64 re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2)) (neg.f64 re))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im im)) (neg.f64 re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2)) (neg.f64 re))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im im)) (neg.f64 re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 im 3)) (*.f64 2 im)) re))
(*.f64 -1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (*.f64 im 2)) (neg.f64 re))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im im)) (neg.f64 re))
(*.f64 -2 (*.f64 re im))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(+.f64 (*.f64 re (pow.f64 im 3)) 0)
(*.f64 (pow.f64 im 3) re)
(+.f64 0 (*.f64 re (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) re)
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) 1/2)) (*.f64 re (*.f64 (pow.f64 im 3) 1/2)))
(*.f64 (pow.f64 im 3) re)
(-.f64 (*.f64 re (pow.f64 im 3)) 0)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 re (pow.f64 im 3)) 1)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 (pow.f64 im 3) (+.f64 re re)) 2)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) 4)) 4)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) 8) 8)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)) 16)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))) 32)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8)))) 64)
(*.f64 (pow.f64 im 3) re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) 8))))) 128)
(*.f64 (pow.f64 im 3) re)
(pow.f64 (*.f64 re (pow.f64 im 3)) 1)
(*.f64 (pow.f64 im 3) re)
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(+.f64 0 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(+.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -1/6) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6))
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(-.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 0)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 2)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)) 4)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))) 8)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))) 16)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))) 32)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3)))))) 64)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -4/3))))))) 128)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(pow.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 1)
(*.f64 -1/3 (*.f64 (pow.f64 im 3) re))
(*.f64 (pow.f64 im 3) (*.f64 -1/3 re))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(+.f64 (*.f64 re (*.f64 im -2)) 0)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(+.f64 0 (*.f64 re (*.f64 im -2)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(+.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(+.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 (*.f64 re (*.f64 im -2)) 0)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 0 (*.f64 im (+.f64 re re)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 1 (+.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 -1 (+.f64 (*.f64 im (+.f64 re re)) -1))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 re (*.f64 im -2)) 1)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 im (+.f64 re re)) -1)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 re (*.f64 im -4)) 2)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 re (*.f64 im 4)) -2)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 re (*.f64 im -8)) 4)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 (*.f64 re im) 8) -4)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 8)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 16)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 32)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))))) 64)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))))) 128)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(pow.f64 (*.f64 re (*.f64 im -2)) 1)
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(neg.f64 (*.f64 im (+.f64 re re)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(neg.f64 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 re (*.f64 -2 im))
(*.f64 -2 (*.f64 im re))
(-.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 0)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 1 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 2 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)))
(*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 3) re) -1/6) (*.f64 re (neg.f64 im))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 re (neg.f64 im))))
(*.f64 2 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 re re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 1/2)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 1/4)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) re)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) (*.f64 re 1/2))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 1/2 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 re (neg.f64 im)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/6)) 2)
(*.f64 2 (+.f64 (*.f64 (*.f64 (pow.f64 im 3) re) -1/6) (*.f64 re (neg.f64 im))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) (*.f64 re (neg.f64 im))))
(*.f64 2 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)) 1/2) (+.f64 re re))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 1/4 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 re re))
(*.f64 (+.f64 re re) (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 (*.f64 re (*.f64 im -4)) (*.f64 (pow.f64 im 3) (*.f64 re -2/3))) 1/2)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(*.f64 (+.f64 (*.f64 im -4) (*.f64 (pow.f64 im 3) -2/3)) (*.f64 re 1/2))
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2)))) 2)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 4) 4)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8) 8)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)) 16)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))) 32)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8)))) 64)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 8))))) 128)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))
(pow.f64 (*.f64 re (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 im -2))) 1)
(*.f64 re (+.f64 (*.f64 -1/3 (pow.f64 im 3)) (*.f64 -2 im)))

localize4.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 30 to 21 computations (30% saved)

series2.0ms (0%)

Counts
3 → 24
Calls

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

rewrite113.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01057
16457
212957
326357
448157
5110257
6275957
7509757
8670457
Stop Event
node limit
Counts
3 → 74
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 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 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))))) 128)))) (#(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 +.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12))) (+.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (-.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) (*.f64 im 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))))))

simplify217.0ms (1.5%)

Algorithm
egg-herbie
Rules
2056×rational.json-simplify-35
1752×rational.json-simplify-1
1174×rational.json-simplify-2
964×rational.json-simplify-41
912×rational.json-simplify-51
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01672538
13732398
27942180
321412174
454432172
560822168
668202168
771432168
873232168
978912168
Stop Event
node limit
Counts
98 → 102
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 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))))) 128)
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(+.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 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)))
(-.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(/.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)
(/.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))))) 128)
(pow.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))
(+.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))
(+.f64 -2 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))
(+.f64 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) -2)
(+.f64 (-.f64 -1 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12))) (+.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)
(*.f64 4 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 -1 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 1/8)
(*.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -1/2)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) 2)
(*.f64 -2 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)) -2)
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)) 4)
(*.f64 -1/2 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/8 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))
(*.f64 1/8 (-.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) (*.f64 im 8)))
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(/.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8)))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8))))) 128)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 0)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 re 1/2)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im))) 2)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) (/.f64 re 2))
(*.f64 re (/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2))
(/.f64 (*.f64 re (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4))) 4)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) (/.f64 re 4))
(*.f64 re (/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4))
(/.f64 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8) 8)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)) 16)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))) 32)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8)))) 64)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) 8))))) 128)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.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 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))
(+.f64 (/.f64 im -2) (+.f64 (/.f64 im -2) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (/.f64 im -2) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (/.f64 im -2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (/.f64 im -2) (/.f64 im -2)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (-.f64 (*.f64 (pow.f64 im 3) -1/12) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 1 im) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) -1))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -2 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 2) -2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 -1 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12))) (+.f64 1 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2))))
(+.f64 (-.f64 -1 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12))) (+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (/.f64 im -2) 1)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (+.f64 1 (/.f64 im -2)) (-.f64 -1 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 1 (*.f64 im 1/2))) (+.f64 1 (/.f64 im -2))))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (/.f64 im -2) (-.f64 0 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (/.f64 im -2) (neg.f64 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (+.f64 (/.f64 im -2) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)
(neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(*.f64 4 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 -1 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 1/8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -1/2)
(*.f64 (+.f64 im (-.f64 im (*.f64 (pow.f64 im 3) -1/3))) -1/2)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)) 2)
(*.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/12) (/.f64 im -2)))
(*.f64 -2 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)) -2)
(*.f64 -2 (-.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 1/4)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (*.f64 im 1/4)) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/2 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 (+.f64 im (-.f64 im (*.f64 (pow.f64 im 3) -1/3))) -1/2)
(*.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -1/2)
(*.f64 1/8 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/8 (-.f64 (*.f64 (*.f64 -1/6 (pow.f64 im 3)) 8) (*.f64 im 8)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) -1)
(neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (+.f64 im im) (*.f64 (pow.f64 im 3) -1/3)) -2)
(/.f64 (+.f64 im (-.f64 im (*.f64 (pow.f64 im 3) -1/3))) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3))) -8)
(*.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)))) -16)
(*.f64 (-.f64 (*.f64 im 4) (*.f64 (pow.f64 im 3) -2/3)) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))))) 128)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)))

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite93.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
18029
216929
334529
467229
5156929
6352929
7639229
Stop Event
node limit
Counts
1 → 12
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) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))))

simplify206.0ms (1.4%)

Algorithm
egg-herbie
Rules
2368×rational.json-simplify-2
1600×rational.json-simplify-48
1482×rational.json-simplify-35
930×rational.json-simplify-53
860×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0711400
11621380
23061218
36281170
417961170
533021170
639751170
742141170
847581170
960591170
1065821170
1174971170
Stop Event
node limit
Counts
36 → 39
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) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(+.f64 (*.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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (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 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/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 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 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 7)))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 7) -1/5040)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.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) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(*.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 (*.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) (*.f64 (sin.f64 re) 2)) 2)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(*.f64 (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))

eval143.0ms (1%)

Compiler

Compiled 5126 to 3748 computations (26.9% saved)

prune117.0ms (0.8%)

Pruning

9 alts after pruning (2 fresh and 7 done)

PrunedKeptTotal
New3172319
Fresh000
Picked011
Done167
Total3189327
Error
0.1b
Counts
327 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
31.8b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
45.3b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im)) (sin.f64 re))
44.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.5b
(*.f64 (sin.f64 re) (neg.f64 im))
31.8b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
32.1b
(*.f64 re (neg.f64 im))
46.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 107 to 79 computations (26.2% saved)

localize24.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 40 computations (24.5% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite104.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1832×rational.json-1
1294×rational.json-simplify-35
1158×exponential.json-3
1158×rational.json-2
1158×rational.json-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01672
111472
222472
345160
492256
5233356
6518456
7772256
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im))
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im)) (sin.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 -1 im) 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2) (*.f64 (-.f64 -1 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 im 1) -2) (+.f64 2 (*.f64 (pow.f64 im 3) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 2 (*.f64 (pow.f64 im 3) -1/3)) (*.f64 (+.f64 im 1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)))))

simplify322.0ms (2.2%)

Algorithm
egg-herbie
Rules
1894×rational.json-simplify-1
1594×rational.json-simplify-2
1508×rational.json-simplify-35
1426×rational.json-simplify-53
842×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01262401
12662401
26582119
313452071
429982071
536592071
638712071
742682071
850962071
954552071
1067072071
1170022071
1273762071
1379932071
Stop Event
node limit
Counts
73 → 74
Calls
Call 1
Inputs
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.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 -1/6 (pow.f64 im 3)) (neg.f64 im)) 0)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)) -1)
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) 1)
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))
(*.f64 2 (+.f64 (*.f64 (-.f64 -1 im) 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2)))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2) (*.f64 (-.f64 -1 im) 1/2)))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 im 1) -2) (+.f64 2 (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 1/2 (+.f64 (+.f64 2 (*.f64 (pow.f64 im 3) -1/3)) (*.f64 (+.f64 im 1) -2)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)))) 64)
(pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))) 64)
(pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)
Outputs
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (neg.f64 (sin.f64 re)))
(neg.f64 (*.f64 im (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 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.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) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re)))
(*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6))
(*.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) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.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 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 5))) (*.f64 -1/5040 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 7)))) (*.f64 -1/6 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (pow.f64 re 3)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 3) -1/6)) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 5) 1/120)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (pow.f64 re 7) -1/5040)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 1/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 -1/6 (pow.f64 re 3))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 1/120 (pow.f64 re 5))))))
(+.f64 (*.f64 (pow.f64 re 3) (*.f64 -1/6 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/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 -1/6 (pow.f64 im 3)) (neg.f64 im)) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 -1 im)) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 2 (+.f64 (*.f64 (-.f64 -1 im) 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) 1/2) (*.f64 (-.f64 -1 im) 1/2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 4 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 1/2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 im 1) -2) (+.f64 2 (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (+.f64 im 1) -2))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 2 (*.f64 (+.f64 im 1) -2))))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 (+.f64 im 1) -2) (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 1/2 (+.f64 (+.f64 2 (*.f64 (pow.f64 im 3) -1/3)) (*.f64 (+.f64 im 1) -2)))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (*.f64 (+.f64 im 1) -2))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 im 1) -2) (+.f64 2 (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 2 (*.f64 (+.f64 im 1) -2))))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 (+.f64 im 1) -2) (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) 2)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)) 16)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) 32)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 8)))) 64)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(pow.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 0 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 1/2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 2)) 2)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 (sin.f64 re) 4)) 4)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 8)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 16)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) 32)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 re) 8) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))) 64)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(pow.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (sin.f64 re)) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (sin.f64 re))))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 (sin.f64 re) -1/6)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 39 to 23 computations (41% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite122.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01354
19048
219748
342848
485148
5208848
6369048
7522548
8730348
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(*.f64 re (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)))))

simplify507.0ms (3.5%)

Algorithm
egg-herbie
Rules
3482×rational.json-simplify-41
3268×rational.json-simplify-35
2778×rational.json-simplify-2
1320×rational.json-simplify-53
934×exponential.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01102210
12572202
25452202
313232202
429832202
543132202
645952202
748222202
849962202
951632202
1053302202
1160652202
1266732202
1367602202
1467852202
1567852202
1669532202
1771212202
1872892202
1974572202
Stop Event
node limit
Counts
90 → 51
Calls
Call 1
Inputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.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 (pow.f64 im 3) (*.f64 re -1/6)) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 0)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))))) 128)
(pow.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)
(-.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 0)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
(*.f64 1 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) re))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))
(*.f64 (+.f64 re re) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 1/2)
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) re)
(*.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)) 2)
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) (+.f64 re re))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) (+.f64 re re))
(*.f64 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 4)
(/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
(/.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))))) 128)
(pow.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
Outputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (*.f64 re -1))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (neg.f64 re))
(*.f64 re (neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (*.f64 re -1))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (neg.f64 re))
(*.f64 re (neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (*.f64 re -1))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (neg.f64 re))
(*.f64 re (neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 im 3)) im) re))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (*.f64 re -1))
(*.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6)) (neg.f64 re))
(*.f64 re (neg.f64 (+.f64 im (*.f64 (pow.f64 im 3) 1/6))))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 0 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/3)) 2)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)) 4)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))) 8)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))) 16)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))) 32)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) 64)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 (pow.f64 im 3) -2/3))))))) 128)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(pow.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/6)) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(-.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 0)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) re))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 re re) (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 1/2)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) re)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 4 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 1/4)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 re 1/2))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 1/2)) 2)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 1/2) (+.f64 re re))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2) (+.f64 re re))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 4)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 2)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)) 4)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))) 8)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))) 16)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))) 32)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) 64)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) (*.f64 re 4))))))) 128)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(pow.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))

eval47.0ms (0.3%)

Compiler

Compiled 2563 to 1787 computations (30.3% saved)

prune25.0ms (0.2%)

Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New1501151
Fresh000
Picked011
Done088
Total15010160
Error
0.1b
Counts
160 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
1.0b
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
31.8b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
1.0b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
45.3b
(*.f64 (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) 1) (-.f64 -1 im)) (sin.f64 re))
45.1b
(*.f64 (*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 2 (*.f64 (+.f64 im 1) -2)))) (sin.f64 re))
44.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.5b
(*.f64 (sin.f64 re) (neg.f64 im))
31.8b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
32.1b
(*.f64 re (neg.f64 im))
46.1b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 127 to 96 computations (24.4% saved)

regimes39.0ms (0.3%)

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

6 calls:

8.0ms
(*.f64 1/2 (sin.f64 re))
7.0ms
(sin.f64 re)
6.0ms
re
6.0ms
im
3.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
ErrorSegmentsBranch
1.0b1re
1.0b1im
1.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b1(*.f64 1/2 (sin.f64 re))
1.0b1(sin.f64 re)
1.0b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 172 to 108 computations (37.2% saved)

regimes67.0ms (0.5%)

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

6 calls:

35.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
7.0ms
im
6.0ms
(*.f64 1/2 (sin.f64 re))
6.0ms
(sin.f64 re)
6.0ms
re
Results
ErrorSegmentsBranch
1.0b1re
1.0b1im
1.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0b1(*.f64 1/2 (sin.f64 re))
1.0b1(sin.f64 re)
1.0b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 158 to 102 computations (35.4% saved)

regimes49.0ms (0.3%)

Accuracy

Total -45.4b remaining (-2955.6%)

Threshold costs -45.4b (-2955.6%)

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

36.0ms
(sin.f64 re)
4.0ms
re
4.0ms
im
2.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.5b1re
1.5b1im
1.5b1(sin.f64 re)
1.5b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 75 to 48 computations (36% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 41 to 29 computations (29.3% saved)

soundness139.0ms (1%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01852750
13862750
29132610
317992576
439782576
552072576
673972576
Stop Event
node limit
Compiler

Compiled 75 to 43 computations (42.7% saved)

end39.0ms (0.3%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

Profiling

Loading profile data...