Details

Time bar (total: 19.7s)

analyze2.0s (10.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)

sample9.7s (49.2%)

Results
4.5s4226×body1024valid
1.5s1623×body256infinite
1.3s1970×body1024infinite
1.2s2058×body512valid
578.0ms1729×body256valid
425.0ms1005×body512infinite
171.0ms243×body2048valid
Bogosity

preprocess82.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 12 computations (20% saved)

simplify103.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 24 to 13 computations (45.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 10 computations (23.1% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series47.0ms (0.2%)

Counts
2 → 32
Calls

9 calls:

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

rewrite91.0ms (0.5%)

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

simplify140.0ms (0.7%)

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

Useful iterations: 3 (0.0ms)

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

eval28.0ms (0.1%)

Compiler

Compiled 2021 to 1017 computations (49.7% saved)

prune18.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.3b
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
44.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.3b
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 3) -1/6) (neg.f64 im)))
1.7b
(*.f64 (sin.f64 re) (neg.f64 im))
45.8b
(*.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)
6.7b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 36 to 10 computations (72.2% saved)

series2.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite109.0ms (0.6%)

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

simplify1.4s (6.9%)

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

rewrite85.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify238.0ms (1.2%)

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

Compiled 37 to 23 computations (37.8% saved)

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

rewrite102.0ms (0.5%)

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

simplify322.0ms (1.6%)

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

Compiled 45 to 24 computations (46.7% saved)

series5.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite115.0ms (0.6%)

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

simplify298.0ms (1.5%)

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

eval109.0ms (0.6%)

Compiler

Compiled 6203 to 3902 computations (37.1% saved)

prune56.0ms (0.3%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New3355340
Fresh000
Picked101
Done134
Total3378345
Error
0.1b
Counts
345 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
46.3b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.7b
(*.f64 (sin.f64 re) (neg.f64 im))
31.4b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
31.6b
(*.f64 re (neg.f64 im))
31.4b
(*.f64 1/2 (+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 -2 (*.f64 re im))))
45.8b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
Compiler

Compiled 144 to 108 computations (25% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 22 computations (33.3% saved)

series1.0ms (0%)

Counts
3 → 36
Calls

12 calls:

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

rewrite120.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
01261
18061
216961
334561
467261
5156961
6352961
7639261
Stop Event
node limit
Counts
3 → 61
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 im 3))
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (-.f64 (+.f64 im -1) (*.f64 -1/6 (pow.f64 im 3)))))))) (#(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 1/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 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.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 (*.f64 -1/6 (pow.f64 im 3))) 4) -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 (*.f64 -1/6 (pow.f64 im 3))) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) (*.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 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4))) 8)))) (#(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 -1/6 (pow.f64 im 3))))))))

simplify147.0ms (0.7%)

Algorithm
egg-herbie
Rules
1454×rational.json-simplify-35
1236×rational.json-simplify-51
1234×rational.json-simplify-1
1040×rational.json-simplify-43
1014×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01622953
13532793
28042315
325322267
456562267
567492267
678982267
Stop Event
node limit
Counts
97 → 91
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)))
(+.f64 -2 (-.f64 1 (-.f64 (+.f64 im -1) (*.f64 -1/6 (pow.f64 im 3)))))
(*.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 1/2)))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 1/2)
(*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(/.f64 (-.f64 (+.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 (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) -8)
(/.f64 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8)))) 64)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4))) 8)
(pow.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(neg.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
Outputs
(*.f64 -1 (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (neg.f64 im))
(*.f64 im (sin.f64 (neg.f64 re)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3)))
(*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))) (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)))
(+.f64 (*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)) (*.f64 (pow.f64 re 3) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -1/6)))
(+.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 (pow.f64 re 3) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -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 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 (pow.f64 re 3) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) -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 3) -1/6)) (+.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 (*.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 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/120 (pow.f64 re 5))) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 im 3)))
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 (pow.f64 im 3) -1/12))
(*.f64 -1/6 (pow.f64 im 3))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) 0)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (pow.f64 im 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4) 8)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)) 16)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) 32)
(*.f64 -1/6 (pow.f64 im 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) -1/3) 4)))) 64)
(*.f64 -1/6 (pow.f64 im 3))
(pow.f64 (*.f64 -1/6 (pow.f64 im 3)) 1)
(*.f64 -1/6 (pow.f64 im 3))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 0 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)) (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 1/2)))
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(-.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 0)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 2)) 2)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (*.f64 (sin.f64 re) 4)) 4)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)) 8)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))) 16)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) 32)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) (sin.f64 re))))) 64)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(pow.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re)) 1)
(+.f64 (*.f64 (sin.f64 re) (neg.f64 im)) (*.f64 (sin.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (sin.f64 re) (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 0)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 0 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 -1 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (-.f64 1 im)) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(+.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.f64 im 1/2)) (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.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 1 (-.f64 (+.f64 im -1) (*.f64 -1/6 (pow.f64 im 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 -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 1/2)))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 (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 -1/6 (pow.f64 im 3))) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 4 (-.f64 (/.f64 (*.f64 -1/6 (pow.f64 im 3)) 4) (/.f64 im 4)))
(*.f64 4 (-.f64 (*.f64 (pow.f64 im 3) -1/24) (/.f64 im 4)))
(*.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 1/4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/2 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)))
(*.f64 -1 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/12) (*.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 -1/6 (pow.f64 im 3)) im) 4))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(*.f64 1/4 (-.f64 (*.f64 (pow.f64 im 3) -2/3) (*.f64 im 4)))
(*.f64 (/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (*.f64 (pow.f64 im 3) -1/3) (+.f64 im im)) 2)
(/.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) -1)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 4) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8) 8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (-.f64 (+.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 (*.f64 -1/6 (pow.f64 im 3))) 4) -4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (*.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 (*.f64 -1/6 (pow.f64 im 3))) 4)) -8)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) 4)
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) 8))) (*.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 (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4)) (neg.f64 (*.f64 (-.f64 im (*.f64 -1/6 (pow.f64 im 3))) 4))) 8)
(+.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 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))
(-.f64 (*.f64 -1/6 (pow.f64 im 3)) im)

localize4.0ms (0%)

Compiler

Compiled 10 to 4 computations (60% saved)

localize26.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 12 computations (53.8% saved)

series1.0ms (0%)

Counts
2 → 28
Calls

12 calls:

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

rewrite96.0ms (0.5%)

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

Useful iterations: 2 (0.0ms)

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

simplify108.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

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

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

Compiled 30 to 21 computations (30% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite107.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify568.0ms (2.9%)

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

Useful iterations: 2 (0.0ms)

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

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite198.0ms (1%)

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 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (*.f64 -2 (*.f64 re im)))
(*.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 (*.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)))))
((#(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)))))))

simplify187.0ms (1%)

Algorithm
egg-herbie
Rules
2770×rational.json-simplify-2
2018×rational.json-simplify-35
1050×rational.json-simplify-43
880×rational.json-simplify-49
862×rational.json-simplify-53
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01872221
14512213
210322201
330422201
450792201
561282201
670062201
775442201
878742201
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 (*.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)
(+.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)))
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 re (neg.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im 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 re (neg.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im 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 re (neg.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im 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 re (neg.f64 (+.f64 (*.f64 (pow.f64 im 3) 1/3) (+.f64 im im))))
(*.f64 -2 (*.f64 re im))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(*.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 (*.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 im (neg.f64 re))))
(*.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 im (neg.f64 re))))
(*.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)))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(+.f64 (*.f64 re (*.f64 im -2)) 0)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(+.f64 0 (*.f64 re (*.f64 im -2)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(+.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(+.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 (*.f64 re (*.f64 im -2)) 0)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 0 (*.f64 im (+.f64 re re)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 0 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 1 (+.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 -1 (+.f64 (*.f64 im (+.f64 re re)) -1))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 re (*.f64 im -2)) 1)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 im (+.f64 re re)) -1)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 re (*.f64 im -4)) 2)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 re (*.f64 im 4)) -2)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 re (*.f64 im -8)) 4)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 (*.f64 re im) 8) -4)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 2 (*.f64 re (*.f64 im -8))) 8)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))) 16)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))) 32)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8)))))) 64)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im -8))))))) 128)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(pow.f64 (*.f64 re (*.f64 im -2)) 1)
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(neg.f64 (*.f64 im (+.f64 re re)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))
(neg.f64 (+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1)))
(*.f64 im (*.f64 -2 re))
(*.f64 re (*.f64 -2 im))

eval152.0ms (0.8%)

Compiler

Compiled 5767 to 4056 computations (29.7% saved)

prune102.0ms (0.5%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New3775382
Fresh000
Picked101
Done077
Total37812390
Error
0.1b
Counts
390 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
46.3b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
47.8b
(+.f64 (-.f64 1 (*.f64 re im)) -1)
31.4b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
31.4b
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.7b
(*.f64 (sin.f64 re) (neg.f64 im))
31.4b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
31.6b
(*.f64 re (neg.f64 im))
47.5b
(*.f64 1/2 (+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)))
45.8b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
47.2b
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
Compiler

Compiled 207 to 155 computations (25.1% saved)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 43 to 26 computations (39.5% saved)

series3.0ms (0%)

Counts
2 → 15
Calls

12 calls:

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

rewrite124.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1786×rational.json-simplify-35
1656×rational.json-1
1656×rational.json-2
1656×rational.json-3
1314×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01356
19354
220548
341848
483148
5207648
6378148
7533148
8754448
Stop Event
node limit
Counts
2 → 41
Calls
Call 1
Inputs
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (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 (*.f64 re (pow.f64 im 3)) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 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 (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (-.f64 1 (*.f64 re im))) 1)))) (#(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 re (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) re))))) (#(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 re re) (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))))) (#(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 re (+.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 re (*.f64 2 (+.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)) re)))) (#(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 (*.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 re (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/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 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))) 16)))) (#(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)) (neg.f64 im))) 4)))) 32)))) (#(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)) (neg.f64 im))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 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)))))

simplify536.0ms (2.7%)

Algorithm
egg-herbie
Rules
3376×rational.json-simplify-41
2384×rational.json-simplify-35
2226×rational.json-simplify-2
1028×rational.json-simplify-51
886×exponential.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01061464
12471456
26091456
319071456
440141456
547811456
650811456
752821456
854391456
955891456
1061341456
1163081456
1264971456
1365741456
1466071456
1566421456
1666671456
1766671456
1867971456
Stop Event
node limit
Counts
56 → 51
Calls
Call 1
Inputs
(*.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 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)
(+.f64 0 (*.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 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)
(/.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 1)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))))) 128)
(pow.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 1)
(-.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 0)
(-.f64 (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (-.f64 1 (*.f64 re im))) 1)
(*.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 re (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2)))
(*.f64 2 (*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) re))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))) 1/2)
(*.f64 (+.f64 re re) (*.f64 1/2 (+.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 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 1/4)
(*.f64 1/2 (*.f64 re (*.f64 2 (+.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 (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (*.f64 re 1/2))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))))
(*.f64 (*.f64 re (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2)) 2)
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 re re))
(*.f64 1/4 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))
(*.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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4)))))) 128)
(pow.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 1)
Outputs
(*.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 im (neg.f64 re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(+.f64 0 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(+.f64 (*.f64 re (*.f64 (pow.f64 im 3) -1/12)) (*.f64 re (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(-.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 0)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3) 4)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)) 8)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))) 16)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))) 32)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))))) 64)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (pow.f64 im 3)) -2/3)))))) 128)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(pow.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) 1)
(*.f64 -1/6 (*.f64 (pow.f64 im 3) re))
(-.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 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (-.f64 1 (*.f64 re im))) 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 (*.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 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 2 (*.f64 (*.f64 1/2 (+.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 (*.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 re re) (*.f64 1/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 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4) 1/4)
(*.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 (*.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 (*.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 (*.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 re (/.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)) 2)) 2)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) (+.f64 re re))
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(*.f64 1/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 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 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 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4)) 8)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))) 16)
(*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 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 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (neg.f64 im))) 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)))

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.0b
(+.f64 (-.f64 1 (*.f64 re im)) -1)
Compiler

Compiled 21 to 11 computations (47.6% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite102.0ms (0.5%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0919
17013
215011
327511
450811
5115011
6273211
7474711
8622311
Stop Event
node limit
Counts
1 → 73
Calls
Call 1
Inputs
(+.f64 (-.f64 1 (*.f64 re im)) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (-.f64 (*.f64 re im) -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 re im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 0 (-.f64 1 (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (neg.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (*.f64 re im) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 0 (*.f64 re (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 (+.f64 (*.f64 re im) -1) 2) (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (+.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re im) -2) (*.f64 re (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -3 (+.f64 (+.f64 (*.f64 re im) -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1) (/.f64 (+.f64 (*.f64 re im) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 im) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 re im) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 -1 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re im) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 -1 (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 re im) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 re (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 re (neg.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re im) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (neg.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (neg.f64 (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 im 1/2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 im im)) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 re re)) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re im) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 re) re) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 im) im) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re im) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 im im)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im 4)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (neg.f64 im)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 im 8)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re (*.f64 im 8))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (*.f64 im 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 re (*.f64 im 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8)))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8))))) -64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (neg.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 0 (*.f64 re (neg.f64 im))))))))

simplify234.0ms (1.2%)

Algorithm
egg-herbie
Rules
2830×rational.json-simplify-2
2106×rational.json-simplify-35
1318×rational.json-simplify-51
1012×rational.json-simplify-49
878×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01561151
14181143
210351143
325911143
449921143
564591143
671191143
774821143
877501143
977581143
Stop Event
node limit
Counts
97 → 77
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(*.f64 -1 (*.f64 re im))
(-.f64 1 (+.f64 1 (*.f64 re im)))
(-.f64 1 (+.f64 (-.f64 (*.f64 re im) -2) -1))
(-.f64 (-.f64 1 (*.f64 re im)) 1)
(-.f64 -1 (+.f64 (*.f64 re im) -1))
(-.f64 -1 (-.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2) 1))
(-.f64 -1 (-.f64 0 (-.f64 1 (*.f64 re im))))
(-.f64 (*.f64 re (neg.f64 im)) 0)
(-.f64 0 (*.f64 re im))
(-.f64 0 (-.f64 (+.f64 (*.f64 re im) -2) -2))
(-.f64 0 (-.f64 0 (*.f64 re (neg.f64 im))))
(-.f64 0 (-.f64 (/.f64 (+.f64 (*.f64 re im) -1) 2) (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1)))
(-.f64 -2 (+.f64 (*.f64 re im) -2))
(-.f64 (/.f64 (*.f64 re im) -2) (*.f64 re (*.f64 im 1/2)))
(-.f64 -3 (+.f64 (+.f64 (*.f64 re im) -2) -1))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1) (/.f64 (+.f64 (*.f64 re im) -1) 2))
(*.f64 1 (*.f64 re (neg.f64 im)))
(*.f64 re (neg.f64 im))
(*.f64 im (neg.f64 re))
(*.f64 (*.f64 re im) -1)
(*.f64 -1 (*.f64 re im))
(*.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 2 (/.f64 (*.f64 re im) -2))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 re 1/2)))
(*.f64 2 (*.f64 (neg.f64 re) (*.f64 im 1/2)))
(*.f64 4 (/.f64 (*.f64 re im) -4))
(*.f64 (+.f64 im im) (*.f64 -1 (*.f64 re 1/2)))
(*.f64 (*.f64 (*.f64 re im) -2) 1/2)
(*.f64 (+.f64 re re) (*.f64 -1 (*.f64 im 1/2)))
(*.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 1/4)
(*.f64 1/2 (*.f64 (*.f64 re im) -2))
(*.f64 -2 (*.f64 re (*.f64 im 1/2)))
(*.f64 1/4 (*.f64 (*.f64 re (neg.f64 im)) 4))
(*.f64 (/.f64 (*.f64 re im) -2) 2)
(*.f64 (*.f64 re 1/2) (neg.f64 (+.f64 im im)))
(*.f64 (*.f64 im 1/2) (neg.f64 (+.f64 re re)))
(*.f64 (*.f64 re (*.f64 im 1/2)) -2)
(*.f64 (neg.f64 re) im)
(*.f64 (neg.f64 im) re)
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 re 1/2))
(*.f64 (neg.f64 (+.f64 re re)) (*.f64 im 1/2))
(*.f64 (/.f64 (*.f64 re im) -4) 4)
(*.f64 (-.f64 (neg.f64 re) re) (*.f64 im 1/2))
(*.f64 (-.f64 (neg.f64 im) im) (*.f64 re 1/2))
(/.f64 (*.f64 re im) -1)
(/.f64 (*.f64 re (neg.f64 im)) 1)
(/.f64 (*.f64 (*.f64 re im) -2) 2)
(/.f64 (*.f64 re (+.f64 im im)) -2)
(/.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 4)
(/.f64 (*.f64 re (*.f64 im 4)) -4)
(/.f64 (*.f64 (*.f64 re (neg.f64 im)) 8) 8)
(/.f64 (*.f64 re (*.f64 im 8)) -8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 re (*.f64 im 8))) -16)
(/.f64 (neg.f64 (*.f64 re (*.f64 im 4))) 4)
(/.f64 (neg.f64 (*.f64 re (*.f64 im 8))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))) 8)
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8)))) -32)
(/.f64 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8))))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8))))) -64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))))) 64)
(pow.f64 (*.f64 re (neg.f64 im)) 1)
(neg.f64 (*.f64 re im))
(neg.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2))
(neg.f64 (-.f64 0 (*.f64 re (neg.f64 im))))
Outputs
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(-.f64 1 (+.f64 1 (*.f64 re im)))
(*.f64 re (neg.f64 im))
(-.f64 1 (+.f64 (-.f64 (*.f64 re im) -2) -1))
(*.f64 re (neg.f64 im))
(-.f64 (-.f64 1 (*.f64 re im)) 1)
(*.f64 re (neg.f64 im))
(-.f64 -1 (+.f64 (*.f64 re im) -1))
(*.f64 re (neg.f64 im))
(-.f64 -1 (-.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2) 1))
(*.f64 re (neg.f64 im))
(-.f64 -1 (-.f64 0 (-.f64 1 (*.f64 re im))))
(*.f64 re (neg.f64 im))
(-.f64 (*.f64 re (neg.f64 im)) 0)
(*.f64 re (neg.f64 im))
(-.f64 0 (*.f64 re im))
(*.f64 re (neg.f64 im))
(-.f64 0 (-.f64 (+.f64 (*.f64 re im) -2) -2))
(*.f64 re (neg.f64 im))
(-.f64 0 (-.f64 0 (*.f64 re (neg.f64 im))))
(*.f64 re (neg.f64 im))
(-.f64 0 (-.f64 (/.f64 (+.f64 (*.f64 re im) -1) 2) (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1)))
(neg.f64 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) 2) (+.f64 -1 (/.f64 (+.f64 -1 (*.f64 re im)) -2))))
(+.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (-.f64 -1 (/.f64 (+.f64 -1 (*.f64 re im)) 2)))
(+.f64 -1 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (/.f64 (+.f64 -1 (*.f64 re im)) 2)))
(+.f64 -1 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (/.f64 (-.f64 1 (*.f64 re im)) -2)))
(-.f64 -2 (+.f64 (*.f64 re im) -2))
(*.f64 re (neg.f64 im))
(-.f64 (/.f64 (*.f64 re im) -2) (*.f64 re (*.f64 im 1/2)))
(*.f64 re (neg.f64 im))
(-.f64 -3 (+.f64 (+.f64 (*.f64 re im) -2) -1))
(*.f64 re (neg.f64 im))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 re im) -1) -2) -1) (/.f64 (+.f64 (*.f64 re im) -1) 2))
(neg.f64 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) 2) (+.f64 -1 (/.f64 (+.f64 -1 (*.f64 re im)) -2))))
(+.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (-.f64 -1 (/.f64 (+.f64 -1 (*.f64 re im)) 2)))
(+.f64 -1 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (/.f64 (+.f64 -1 (*.f64 re im)) 2)))
(+.f64 -1 (-.f64 (/.f64 (+.f64 -1 (*.f64 re im)) -2) (/.f64 (-.f64 1 (*.f64 re im)) -2)))
(*.f64 1 (*.f64 re (neg.f64 im)))
(*.f64 re (neg.f64 im))
(*.f64 re (neg.f64 im))
(*.f64 im (neg.f64 re))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 re im) -1)
(*.f64 re (neg.f64 im))
(*.f64 -1 (*.f64 re im))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 re (neg.f64 im))
(*.f64 2 (/.f64 (*.f64 re im) -2))
(*.f64 re (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 im) (*.f64 re 1/2)))
(*.f64 re (neg.f64 im))
(*.f64 2 (*.f64 (neg.f64 re) (*.f64 im 1/2)))
(*.f64 re (neg.f64 im))
(*.f64 4 (/.f64 (*.f64 re im) -4))
(*.f64 re (neg.f64 im))
(*.f64 (+.f64 im im) (*.f64 -1 (*.f64 re 1/2)))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 (*.f64 re im) -2) 1/2)
(*.f64 re (neg.f64 im))
(*.f64 (+.f64 re re) (*.f64 -1 (*.f64 im 1/2)))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 1/4)
(*.f64 re (neg.f64 im))
(*.f64 1/2 (*.f64 (*.f64 re im) -2))
(*.f64 re (neg.f64 im))
(*.f64 -2 (*.f64 re (*.f64 im 1/2)))
(*.f64 re (neg.f64 im))
(*.f64 1/4 (*.f64 (*.f64 re (neg.f64 im)) 4))
(*.f64 re (neg.f64 im))
(*.f64 (/.f64 (*.f64 re im) -2) 2)
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 re 1/2) (neg.f64 (+.f64 im im)))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 im 1/2) (neg.f64 (+.f64 re re)))
(*.f64 re (neg.f64 im))
(*.f64 (*.f64 re (*.f64 im 1/2)) -2)
(*.f64 re (neg.f64 im))
(*.f64 (neg.f64 re) im)
(*.f64 re (neg.f64 im))
(*.f64 (neg.f64 im) re)
(*.f64 re (neg.f64 im))
(*.f64 (neg.f64 (+.f64 im im)) (*.f64 re 1/2))
(*.f64 re (neg.f64 im))
(*.f64 (neg.f64 (+.f64 re re)) (*.f64 im 1/2))
(*.f64 re (neg.f64 im))
(*.f64 (/.f64 (*.f64 re im) -4) 4)
(*.f64 re (neg.f64 im))
(*.f64 (-.f64 (neg.f64 re) re) (*.f64 im 1/2))
(*.f64 re (neg.f64 im))
(*.f64 (-.f64 (neg.f64 im) im) (*.f64 re 1/2))
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re im) -1)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 (*.f64 re im) -2) 2)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (+.f64 im im)) -2)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 (*.f64 re (neg.f64 im)) 4) 4)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (*.f64 im 4)) -4)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 (*.f64 re (neg.f64 im)) 8) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 re (*.f64 im 8)) -8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)) 16)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 re (*.f64 im 8))) -16)
(*.f64 re (neg.f64 im))
(/.f64 (neg.f64 (*.f64 re (*.f64 im 4))) 4)
(*.f64 re (neg.f64 im))
(/.f64 (neg.f64 (*.f64 re (*.f64 im 8))) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))) 32)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))) 8)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))) 16)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8)))) -32)
(*.f64 re (neg.f64 im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))) 16)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8)))) 64)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4))))) 16)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8))))) 32)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8))))) 32)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re (*.f64 im 8))))) -64)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (neg.f64 im)) 8))))) 128)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 4)))))) 32)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 re (*.f64 im 8)))))) 64)
(*.f64 re (neg.f64 im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 re (*.f64 im 8)))))) 64)
(*.f64 re (neg.f64 im))
(pow.f64 (*.f64 re (neg.f64 im)) 1)
(*.f64 re (neg.f64 im))
(neg.f64 (*.f64 re im))
(*.f64 re (neg.f64 im))
(neg.f64 (-.f64 (+.f64 (*.f64 re im) -2) -2))
(*.f64 re (neg.f64 im))
(neg.f64 (-.f64 0 (*.f64 re (neg.f64 im))))
(*.f64 re (neg.f64 im))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

localize72.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 37 to 21 computations (43.2% saved)

series2.0ms (0%)

Counts
3 → 48
Calls

15 calls:

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

rewrite122.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01361
19061
219355
341055
481955
5201555
6411155
7575355
8706355
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 3) (*.f64 -1/6 re))
(*.f64 -1/6 re)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/12)) (*.f64 (pow.f64 im 3) (*.f64 re -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 re -1/12) (*.f64 re -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 re -2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 re -2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/6 re) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (*.f64 (pow.f64 im 3) -1/6) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 im (*.f64 re -2)) (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)))))

simplify384.0ms (2%)

Algorithm
egg-herbie
Rules
2942×rational.json-simplify-35
2526×rational.json-simplify-2
1520×rational.json-simplify-53
1066×rational.json-simplify-43
730×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01422403
13272395
27842383
326382383
443342383
553062383
659102383
763432383
864192383
974302383
1074332383
1174352383
1274352383
1376382383
1479972383
Stop Event
node limit
Counts
105 → 71
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 -1/6 re)) 0)
(+.f64 0 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/12)) (*.f64 (pow.f64 im 3) (*.f64 re -1/12)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 0)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 4)
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))))) 128)
(pow.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)
(+.f64 (*.f64 -1/6 re) 0)
(+.f64 0 (*.f64 -1/6 re))
(+.f64 (*.f64 re -1/12) (*.f64 re -1/12))
(-.f64 (*.f64 -1/6 re) 0)
(/.f64 (*.f64 -1/6 re) 1)
(/.f64 (*.f64 re -1/3) 2)
(/.f64 (*.f64 re -2/3) 4)
(/.f64 (*.f64 2 (*.f64 re -2/3)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re -2/3))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))))) 128)
(pow.f64 (*.f64 -1/6 re) 1)
(-.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.f64 1 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1/2)
(*.f64 (+.f64 re re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))
(*.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (*.f64 (pow.f64 im 3) -1/6) 1/2)))
(*.f64 (+.f64 re re) (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))
(*.f64 4 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) re)
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))
(*.f64 1/2 (+.f64 (*.f64 im (*.f64 re -2)) (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2) 2)
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (+.f64 re re))
(*.f64 1/4 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(/.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 2)
(/.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(/.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))))) 128)
(pow.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 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 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 -1 im)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.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 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (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 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (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 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1 (*.f64 re im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 0 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/12)) (*.f64 (pow.f64 im 3) (*.f64 re -1/12)))
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(-.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 0)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) 2)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 (pow.f64 im 3) (*.f64 re -2/3)) 4)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8) 8)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)) 16)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))) 32)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) 64)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 8))))) 128)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(pow.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/6 re)) 1)
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
(+.f64 (*.f64 -1/6 re) 0)
(*.f64 -1/6 re)
(+.f64 0 (*.f64 -1/6 re))
(*.f64 -1/6 re)
(+.f64 (*.f64 re -1/12) (*.f64 re -1/12))
(*.f64 -1/6 re)
(-.f64 (*.f64 -1/6 re) 0)
(*.f64 -1/6 re)
(/.f64 (*.f64 -1/6 re) 1)
(*.f64 -1/6 re)
(/.f64 (*.f64 re -1/3) 2)
(*.f64 -1/6 re)
(/.f64 (*.f64 re -2/3) 4)
(*.f64 -1/6 re)
(/.f64 (*.f64 2 (*.f64 re -2/3)) 8)
(*.f64 -1/6 re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 re -2/3))) 16)
(*.f64 -1/6 re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))) 32)
(*.f64 -1/6 re)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) 64)
(*.f64 -1/6 re)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 re -2/3)))))) 128)
(*.f64 -1/6 re)
(pow.f64 (*.f64 -1/6 re) 1)
(*.f64 -1/6 re)
(-.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 0)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 1/2)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 re re) (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (*.f64 (pow.f64 im 3) -1/6) 1/2)))
(*.f64 (+.f64 re re) (+.f64 (*.f64 im -1/2) (*.f64 (pow.f64 im 3) -1/12)))
(*.f64 (+.f64 re re) (/.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 2))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 4 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 1/4)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) re)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) (*.f64 re 1/2))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1/2 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1/2 (+.f64 (*.f64 im (*.f64 re -2)) (*.f64 (pow.f64 im 3) (*.f64 re -1/3))))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) (*.f64 re (*.f64 im -2))))
(*.f64 1/2 (+.f64 (*.f64 re (*.f64 im -2)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/3)))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 (*.f64 re 1/2) (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 re 1/2) (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3)))
(*.f64 1/2 (+.f64 (*.f64 (pow.f64 im 3) (*.f64 re -1/3)) (*.f64 re (*.f64 im -2))))
(*.f64 1/2 (+.f64 (*.f64 re (*.f64 im -2)) (*.f64 (*.f64 re (pow.f64 im 3)) -1/3)))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im -2) (*.f64 (pow.f64 im 3) -1/3))))
(*.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1/2) 2)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (*.f64 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)) 1/2) (+.f64 re re))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 1/4 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4))
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 re (*.f64 2 (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6)))) 2)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 4) 4)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8) 8)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)) 16)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))) 32)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) 64)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 8))))) 128)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))
(pow.f64 (*.f64 re (+.f64 (neg.f64 im) (*.f64 (pow.f64 im 3) -1/6))) 1)
(*.f64 re (+.f64 (neg.f64 im) (*.f64 -1/6 (pow.f64 im 3))))

localize58.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -1/3 (*.f64 re (pow.f64 im 3)))
0.2b
(*.f64 im (+.f64 re re))
2.9b
(-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)
4.3b
(*.f64 re (pow.f64 im 3))
Compiler

Compiled 83 to 46 computations (44.6% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite114.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
0932
17130
216230
330626
459626
5147726
6304926
7479926
8646426
Stop Event
node limit
Counts
2 → 116
Calls
Call 1
Inputs
(-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)
(*.f64 im (+.f64 re re))
Outputs
((#(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 im (*.f64 re -2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 re -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 -2 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)) -2)))) (#(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 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1) (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 im -2) (+.f64 re re)) (*.f64 (/.f64 im -2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (*.f64 re -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (-.f64 (*.f64 -2 (*.f64 re 1/2)) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 re (*.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 re -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 im (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 re (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 im -2) (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (neg.f64 re) (*.f64 im 1/2)) (*.f64 re (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (neg.f64 im) (*.f64 re 1/2)) (*.f64 re (*.f64 im 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 re -4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (/.f64 im -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 1/2 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (*.f64 1/4 (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 4) (-.f64 (*.f64 1/4 (neg.f64 im)) (/.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 im re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (neg.f64 re) (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (neg.f64 im) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 re 1/2) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 re 4) (*.f64 im -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (/.f64 re 4) (neg.f64 im)) (*.f64 re (/.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 re 4)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (*.f64 -2 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im im) (-.f64 (*.f64 -1 (*.f64 re 1/2)) (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im re) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 re -8)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 8) (*.f64 1/4 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 re 4) (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 re 8)) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 4) (*.f64 -1 (*.f64 re 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 im (*.f64 re -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 re 8)) (*.f64 1/8 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -4 (*.f64 re (*.f64 im 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (+.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -2) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -2) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (neg.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 im (*.f64 re -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 im -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re 1/2) (*.f64 4 (neg.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im 1/2) (*.f64 re -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -4) (*.f64 im 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im -4) (*.f64 re 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im -2) (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 im (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 re) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re (*.f64 im 1/2)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im re) -2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 im (*.f64 re 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 re -8) (/.f64 im 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re 4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re -8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re 8)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 im re) -16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 im re)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 im re) -16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) -32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) -64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 re -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 (+.f64 (*.f64 im (+.f64 re re)) -2) -2))))))
((#(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 im (+.f64 re re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (+.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (*.f64 im (+.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (*.f64 im (+.f64 re re)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im re) (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im re) (+.f64 1 (+.f64 -1 (*.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (*.f64 im (+.f64 re re)) 2))))) (#(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 -1 (*.f64 im re)) (+.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re re)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (*.f64 im re)) (+.f64 -1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 im (+.f64 re re)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 -1 (*.f64 im re))) (*.f64 im re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (-.f64 1 (*.f64 im re)) (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 re re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (*.f64 re -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im re) (*.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 im (+.f64 re re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 re 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 im re)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (+.f64 re re)) 1)))))

simplify221.0ms (1.1%)

Algorithm
egg-herbie
Rules
2544×rational.json-simplify-2
1148×rational.json-simplify-53
1114×rational.json-simplify-1
1022×rational.json-simplify-44
738×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02202278
15192274
212092214
329332214
455842214
565722214
672392214
777552214
879172214
Stop Event
node limit
Counts
164 → 131
Calls
Call 1
Inputs
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(+.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)
(+.f64 (*.f64 im (*.f64 re -2)) 0)
(+.f64 0 (*.f64 im (*.f64 re -2)))
(+.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)))
(+.f64 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)) -2)
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1) (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2))
(+.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (*.f64 im re)))
(+.f64 (*.f64 (/.f64 im -2) (+.f64 re re)) (*.f64 (/.f64 im -2) (+.f64 re re)))
(*.f64 1 (*.f64 im (*.f64 re -2)))
(*.f64 im (*.f64 re -2))
(*.f64 im (-.f64 (*.f64 -2 (*.f64 re 1/2)) re))
(*.f64 re (*.f64 im -2))
(*.f64 (+.f64 re re) (neg.f64 im))
(*.f64 (*.f64 im (+.f64 re re)) -1)
(*.f64 (*.f64 im (*.f64 re -2)) 1)
(*.f64 -1 (*.f64 im (+.f64 re re)))
(*.f64 2 (*.f64 re (neg.f64 im)))
(*.f64 2 (*.f64 (/.f64 im -2) (+.f64 re re)))
(*.f64 2 (-.f64 (*.f64 (neg.f64 re) (*.f64 im 1/2)) (*.f64 re (*.f64 im 1/2))))
(*.f64 2 (-.f64 (*.f64 (neg.f64 im) (*.f64 re 1/2)) (*.f64 re (*.f64 im 1/2))))
(*.f64 (*.f64 im (*.f64 re -4)) 1/2)
(*.f64 (*.f64 re 4) (/.f64 im -2))
(*.f64 (*.f64 re 4) (*.f64 1/2 (neg.f64 im)))
(*.f64 (*.f64 re 4) (*.f64 1/4 (*.f64 im -2)))
(*.f64 (*.f64 re 4) (-.f64 (*.f64 1/4 (neg.f64 im)) (/.f64 im 4)))
(*.f64 4 (/.f64 (*.f64 im re) -2))
(*.f64 4 (*.f64 (neg.f64 re) (*.f64 im 1/2)))
(*.f64 4 (*.f64 (neg.f64 im) (*.f64 re 1/2)))
(*.f64 4 (*.f64 (*.f64 re 1/2) (neg.f64 im)))
(*.f64 4 (*.f64 (/.f64 re 4) (*.f64 im -2)))
(*.f64 4 (-.f64 (*.f64 (/.f64 re 4) (neg.f64 im)) (*.f64 re (/.f64 im 4))))
(*.f64 (*.f64 im (*.f64 re 4)) -1/2)
(*.f64 (+.f64 im im) (neg.f64 re))
(*.f64 (+.f64 im im) (*.f64 -2 (*.f64 re 1/2)))
(*.f64 (+.f64 im im) (-.f64 (*.f64 -1 (*.f64 re 1/2)) (*.f64 re 1/2)))
(*.f64 (*.f64 im re) -2)
(*.f64 (*.f64 im (*.f64 re -8)) 1/4)
(*.f64 (*.f64 re 8) (*.f64 1/4 (neg.f64 im)))
(*.f64 8 (*.f64 (/.f64 re 4) (neg.f64 im)))
(*.f64 (*.f64 im (*.f64 re 8)) -1/4)
(*.f64 (*.f64 im 4) (*.f64 -1 (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re -4)))
(*.f64 -2 (*.f64 im re))
(*.f64 (*.f64 2 (*.f64 re 8)) (*.f64 1/8 (neg.f64 im)))
(*.f64 -4 (*.f64 re (*.f64 im 1/2)))
(*.f64 (neg.f64 im) (+.f64 re re))
(*.f64 (*.f64 re -2) im)
(*.f64 (*.f64 im -2) re)
(*.f64 (*.f64 re (neg.f64 im)) 2)
(*.f64 1/4 (*.f64 im (*.f64 re -8)))
(*.f64 (*.f64 re 1/2) (*.f64 im -4))
(*.f64 (*.f64 re 1/2) (*.f64 4 (neg.f64 im)))
(*.f64 (*.f64 im 1/2) (*.f64 re -4))
(*.f64 (*.f64 re -4) (*.f64 im 1/2))
(*.f64 (*.f64 im -4) (*.f64 re 1/2))
(*.f64 (/.f64 im -2) (*.f64 re 4))
(*.f64 -1/2 (*.f64 im (*.f64 re 4)))
(*.f64 (neg.f64 re) (+.f64 im im))
(*.f64 (*.f64 re (*.f64 im 1/2)) -4)
(*.f64 (/.f64 (*.f64 im re) -2) 4)
(*.f64 -1/4 (*.f64 im (*.f64 re 8)))
(*.f64 (*.f64 re -8) (/.f64 im 4))
(/.f64 (*.f64 im (+.f64 re re)) -1)
(/.f64 (*.f64 im (*.f64 re -2)) 1)
(/.f64 (*.f64 im (*.f64 re -4)) 2)
(/.f64 (*.f64 im (*.f64 re 4)) -2)
(/.f64 (*.f64 im (*.f64 re -8)) 4)
(/.f64 (*.f64 im (*.f64 re 8)) -4)
(/.f64 (*.f64 (*.f64 im re) -16) 8)
(/.f64 (*.f64 16 (*.f64 im re)) -8)
(/.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) -16)
(/.f64 (*.f64 2 (*.f64 (*.f64 im re) -16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) -32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))) 32)
(/.f64 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) -64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 64)
(pow.f64 (*.f64 im (*.f64 re -2)) 1)
(neg.f64 (*.f64 im (+.f64 re re)))
(neg.f64 (-.f64 (+.f64 (*.f64 im (+.f64 re re)) -2) -2))
(+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1))
(+.f64 (*.f64 im (+.f64 re re)) 0)
(+.f64 0 (*.f64 im (+.f64 re re)))
(+.f64 -1 (+.f64 1 (*.f64 im (+.f64 re re))))
(+.f64 2 (+.f64 (*.f64 im (+.f64 re re)) -2))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) 1)
(+.f64 (*.f64 im re) (*.f64 im re))
(+.f64 (*.f64 im re) (+.f64 1 (+.f64 -1 (*.f64 im re))))
(+.f64 -2 (+.f64 (*.f64 im (+.f64 re re)) 2))
(+.f64 (+.f64 1 (*.f64 im (+.f64 re re))) -1)
(+.f64 (+.f64 -1 (*.f64 im re)) (+.f64 1 (*.f64 im re)))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) -2) 2)
(+.f64 (+.f64 1 (*.f64 im re)) (+.f64 -1 (*.f64 im re)))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) 2) -2)
(+.f64 (+.f64 1 (+.f64 -1 (*.f64 im re))) (*.f64 im re))
(-.f64 1 (-.f64 (-.f64 1 (*.f64 im re)) (*.f64 im re)))
(-.f64 (*.f64 im (+.f64 re re)) 0)
(-.f64 0 (*.f64 im (*.f64 re -2)))
(-.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) -1)
(-.f64 (*.f64 im re) (*.f64 re (neg.f64 im)))
(-.f64 (+.f64 1 (*.f64 im (+.f64 re re))) 1)
(/.f64 (*.f64 im (+.f64 re re)) 1)
(/.f64 (*.f64 im (*.f64 re 4)) 2)
(/.f64 (*.f64 im (*.f64 re 8)) 4)
(/.f64 (*.f64 16 (*.f64 im re)) 8)
(/.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 128)
(pow.f64 (*.f64 im (+.f64 re re)) 1)
Outputs
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(*.f64 2 (*.f64 re im))
(*.f64 re (*.f64 im 2))
(*.f64 re (+.f64 im im))
(+.f64 (-.f64 1 (*.f64 im (+.f64 re re))) -1)
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 im (*.f64 re -2)) 0)
(*.f64 -2 (*.f64 re im))
(+.f64 0 (*.f64 im (*.f64 re -2)))
(*.f64 -2 (*.f64 re im))
(+.f64 -1 (-.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 -2 (*.f64 re im))
(+.f64 -2 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)))
(*.f64 -2 (*.f64 re im))
(+.f64 (neg.f64 (+.f64 (*.f64 im (+.f64 re re)) -2)) -2)
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 re (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) (+.f64 -1 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2)))
(+.f64 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1/2) (+.f64 -1 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1/2)))
(+.f64 -1 (*.f64 (-.f64 1 (*.f64 2 (*.f64 re im))) 1))
(+.f64 -1 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1))
(+.f64 -1 (*.f64 (+.f64 1 (*.f64 -2 (*.f64 re im))) 1))
(+.f64 -1 (*.f64 1 (+.f64 1 (*.f64 -2 (*.f64 re im)))))
(+.f64 (+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) -1) (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2))
(+.f64 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2) (+.f64 -1 (*.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1/2)))
(+.f64 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1/2) (+.f64 -1 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1/2)))
(+.f64 -1 (*.f64 (-.f64 1 (*.f64 2 (*.f64 re im))) 1))
(+.f64 -1 (*.f64 (-.f64 1 (*.f64 re (+.f64 im im))) 1))
(+.f64 -1 (*.f64 (+.f64 1 (*.f64 -2 (*.f64 re im))) 1))
(+.f64 -1 (*.f64 1 (+.f64 1 (*.f64 -2 (*.f64 re im)))))
(+.f64 (-.f64 -1 (*.f64 im re)) (-.f64 1 (*.f64 im re)))
(*.f64 -2 (*.f64 re im))
(+.f64 (*.f64 (/.f64 im -2) (+.f64 re re)) (*.f64 (/.f64 im -2) (+.f64 re re)))
(*.f64 -2 (*.f64 re im))
(*.f64 1 (*.f64 im (*.f64 re -2)))
(*.f64 -2 (*.f64 re im))
(*.f64 im (*.f64 re -2))
(*.f64 -2 (*.f64 re im))
(*.f64 im (-.f64 (*.f64 -2 (*.f64 re 1/2)) re))
(*.f64 -2 (*.f64 re im))
(*.f64 re (*.f64 im -2))
(*.f64 -2 (*.f64 re im))
(*.f64 (+.f64 re re) (neg.f64 im))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im (+.f64 re re)) -1)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im (*.f64 re -2)) 1)
(*.f64 -2 (*.f64 re im))
(*.f64 -1 (*.f64 im (+.f64 re re)))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (*.f64 re (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (*.f64 (/.f64 im -2) (+.f64 re re)))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (-.f64 (*.f64 (neg.f64 re) (*.f64 im 1/2)) (*.f64 re (*.f64 im 1/2))))
(*.f64 -2 (*.f64 re im))
(*.f64 2 (-.f64 (*.f64 (neg.f64 im) (*.f64 re 1/2)) (*.f64 re (*.f64 im 1/2))))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im (*.f64 re -4)) 1/2)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 4) (/.f64 im -2))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 4) (*.f64 1/2 (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 4) (*.f64 1/4 (*.f64 im -2)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 4) (-.f64 (*.f64 1/4 (neg.f64 im)) (/.f64 im 4)))
(*.f64 (*.f64 re 4) (-.f64 (*.f64 (neg.f64 im) 1/4) (/.f64 im 4)))
(*.f64 re (*.f64 4 (-.f64 (*.f64 im -1/4) (/.f64 im 4))))
(*.f64 (*.f64 re 4) (-.f64 (*.f64 im -1/4) (/.f64 im 4)))
(*.f64 4 (/.f64 (*.f64 im re) -2))
(*.f64 -2 (*.f64 re im))
(*.f64 4 (*.f64 (neg.f64 re) (*.f64 im 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 4 (*.f64 (neg.f64 im) (*.f64 re 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 4 (*.f64 (*.f64 re 1/2) (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 4 (*.f64 (/.f64 re 4) (*.f64 im -2)))
(*.f64 -2 (*.f64 re im))
(*.f64 4 (-.f64 (*.f64 (/.f64 re 4) (neg.f64 im)) (*.f64 re (/.f64 im 4))))
(*.f64 4 (-.f64 (*.f64 (neg.f64 im) (/.f64 re 4)) (*.f64 re (/.f64 im 4))))
(*.f64 4 (-.f64 (*.f64 im (neg.f64 (/.f64 re 4))) (*.f64 re (/.f64 im 4))))
(*.f64 (*.f64 im (*.f64 re 4)) -1/2)
(*.f64 -2 (*.f64 re im))
(*.f64 (+.f64 im im) (neg.f64 re))
(*.f64 -2 (*.f64 re im))
(*.f64 (+.f64 im im) (*.f64 -2 (*.f64 re 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 (+.f64 im im) (-.f64 (*.f64 -1 (*.f64 re 1/2)) (*.f64 re 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im re) -2)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im (*.f64 re -8)) 1/4)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 8) (*.f64 1/4 (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 8 (*.f64 (/.f64 re 4) (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im (*.f64 re 8)) -1/4)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im 4) (*.f64 -1 (*.f64 re 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 1/2 (*.f64 im (*.f64 re -4)))
(*.f64 -2 (*.f64 re im))
(*.f64 -2 (*.f64 im re))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 2 (*.f64 re 8)) (*.f64 1/8 (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 -4 (*.f64 re (*.f64 im 1/2)))
(*.f64 -2 (*.f64 re im))
(*.f64 (neg.f64 im) (+.f64 re re))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re -2) im)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im -2) re)
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re (neg.f64 im)) 2)
(*.f64 -2 (*.f64 re im))
(*.f64 1/4 (*.f64 im (*.f64 re -8)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 1/2) (*.f64 im -4))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re 1/2) (*.f64 4 (neg.f64 im)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im 1/2) (*.f64 re -4))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re -4) (*.f64 im 1/2))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 im -4) (*.f64 re 1/2))
(*.f64 -2 (*.f64 re im))
(*.f64 (/.f64 im -2) (*.f64 re 4))
(*.f64 -2 (*.f64 re im))
(*.f64 -1/2 (*.f64 im (*.f64 re 4)))
(*.f64 -2 (*.f64 re im))
(*.f64 (neg.f64 re) (+.f64 im im))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re (*.f64 im 1/2)) -4)
(*.f64 -2 (*.f64 re im))
(*.f64 (/.f64 (*.f64 im re) -2) 4)
(*.f64 -2 (*.f64 re im))
(*.f64 -1/4 (*.f64 im (*.f64 re 8)))
(*.f64 -2 (*.f64 re im))
(*.f64 (*.f64 re -8) (/.f64 im 4))
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (+.f64 re re)) -1)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (*.f64 re -2)) 1)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (*.f64 re -4)) 2)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (*.f64 re 4)) -2)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (*.f64 re -8)) 4)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 im (*.f64 re 8)) -4)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 (*.f64 im re) -16) 8)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 16 (*.f64 im re)) -8)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) -16)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 (*.f64 im re) -16)) 16)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) -32)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))) 32)
(*.f64 -2 (*.f64 re im))
(/.f64 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))) 16)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) -64)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16)))) 64)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re))))) 32)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 im re) -16))))) 128)
(*.f64 -2 (*.f64 re im))
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 64)
(*.f64 -2 (*.f64 re im))
(pow.f64 (*.f64 im (*.f64 re -2)) 1)
(*.f64 -2 (*.f64 re im))
(neg.f64 (*.f64 im (+.f64 re re)))
(*.f64 -2 (*.f64 re im))
(neg.f64 (-.f64 (+.f64 (*.f64 im (+.f64 re re)) -2) -2))
(*.f64 -2 (*.f64 re im))
(+.f64 1 (+.f64 (*.f64 im (+.f64 re re)) -1))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (*.f64 im (+.f64 re re)) 0)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 0 (*.f64 im (+.f64 re re)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 -1 (+.f64 1 (*.f64 im (+.f64 re re))))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 2 (+.f64 (*.f64 im (+.f64 re re)) -2))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) 1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (*.f64 im re) (*.f64 im re))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (*.f64 im re) (+.f64 1 (+.f64 -1 (*.f64 im re))))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 -2 (+.f64 (*.f64 im (+.f64 re re)) 2))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 1 (*.f64 im (+.f64 re re))) -1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 -1 (*.f64 im re)) (+.f64 1 (*.f64 im re)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) -2) 2)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 1 (*.f64 im re)) (+.f64 -1 (*.f64 im re)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 (*.f64 im (+.f64 re re)) 2) -2)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(+.f64 (+.f64 1 (+.f64 -1 (*.f64 im re))) (*.f64 im re))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 1 (-.f64 (-.f64 1 (*.f64 im re)) (*.f64 im re)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 (*.f64 im (+.f64 re re)) 0)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 0 (*.f64 im (*.f64 re -2)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 (+.f64 (*.f64 im (+.f64 re re)) -1) -1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 (*.f64 im re) (*.f64 re (neg.f64 im)))
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(-.f64 (+.f64 1 (*.f64 im (+.f64 re re))) 1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 im (+.f64 re re)) 1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 im (*.f64 re 4)) 2)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 im (*.f64 re 8)) 4)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 16 (*.f64 im re)) 8)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 2 (*.f64 16 (*.f64 im re))) 16)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))) 32)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re))))) 64)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 im re)))))) 128)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))
(pow.f64 (*.f64 im (+.f64 re re)) 1)
(*.f64 re (*.f64 im 2))
(*.f64 2 (*.f64 re im))
(*.f64 re (+.f64 im im))

eval277.0ms (1.4%)

Compiler

Compiled 6349 to 4436 computations (30.1% saved)

prune89.0ms (0.5%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New3953398
Fresh000
Picked011
Done3811
Total39812410
Error
0.1b
Counts
410 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
47.8b
(-.f64 1 (+.f64 (-.f64 (*.f64 re im) -2) -1))
47.8b
(-.f64 -2 (+.f64 (*.f64 re im) -2))
46.3b
(+.f64 (-.f64 1 (*.f64 (sin.f64 re) im)) -1)
31.4b
(+.f64 (*.f64 re (neg.f64 im)) (*.f64 -1/6 (*.f64 re (pow.f64 im 3))))
1.3b
(*.f64 (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im) (sin.f64 re))
44.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.7b
(*.f64 (sin.f64 re) (neg.f64 im))
31.4b
(*.f64 re (-.f64 (*.f64 -1/6 (pow.f64 im 3)) im))
31.6b
(*.f64 re (neg.f64 im))
47.5b
(*.f64 1/2 (+.f64 (*.f64 -1/3 (*.f64 re (pow.f64 im 3))) (-.f64 (-.f64 1 (*.f64 im (+.f64 re re))) 1)))
45.8b
(*.f64 1/2 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) re))
47.2b
(*.f64 -1/6 (*.f64 re (pow.f64 im 3)))
Compiler

Compiled 135 to 102 computations (24.4% saved)

regimes53.0ms (0.3%)

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

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

Compiled 222 to 136 computations (38.7% saved)

regimes49.0ms (0.3%)

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

6 calls:

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

Compiled 208 to 130 computations (37.5% saved)

regimes35.0ms (0.2%)

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

11.0ms
im
7.0ms
re
7.0ms
(sin.f64 re)
5.0ms
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Results
ErrorSegmentsBranch
1.7b1re
1.7b1im
1.7b1(sin.f64 re)
1.7b1(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 157 to 100 computations (36.3% saved)

regimes9.0ms (0%)

Accuracy

Total -16.6b remaining (-52.6%)

Threshold costs -16.6b (-52.6%)

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

2 calls:

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

Compiled 35 to 23 computations (34.3% 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)

soundness143.0ms (0.7%)

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

Useful iterations: 3 (0.0ms)

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

Compiled 75 to 43 computations (42.7% saved)

end26.0ms (0.1%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

Profiling

Loading profile data...