Details

Time bar (total: 8.7s)

analyze173.0ms (2%)

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
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
75%74.9%25%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
77.4%74.9%21.9%0.1%3.1%0%0%6
78.7%74.9%20.3%0.1%4.7%0%0%7
80.7%74.9%18%0.1%7%0%0%8
81.7%74.9%16.8%0.1%8.2%0%0%9
82.9%74.9%15.4%0.1%9.6%0%0%10
83.6%74.9%14.7%0.1%10.2%0%0%11
84.3%74.9%14%0.1%11%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample4.0s (45.4%)

Results
1.5s6200×body256valid
1.2s1331×body1024valid
405.0ms695×body1024infinite
354.0ms320×body512infinite
247.0ms720×body512valid
222.0ms517×body256infinite
4.0msbody2048valid
Bogosity

preprocess125.0ms (1.4%)

Algorithm
egg-herbie
Rules
1840×trig.json-simplify-41
878×rational.json-simplify-2
778×rational.json-simplify-41
594×exponential.json-simplify-1
528×trig.json-simplify-20
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
11930
22330
33030
44230
56230
615330
768430
8143230
9367430
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 im) (sin.f64 re))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 im) (sin.f64 re))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify210.0ms (2.4%)

Algorithm
egg-herbie
Rules
1342×rational.json-simplify-2
886×rational.json-simplify-1
876×trig.json-simplify-41
866×rational.json-simplify-46
716×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
11315
21515
31915
42615
53715
68915
737115
874615
9244115
10707215
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))

eval1.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 7 to 5 computations (28.6% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite189.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
950×rational.json-simplify-2
894×rational.json-simplify-79
544×rational.json-simplify-47
496×rational.json-5
494×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
17115
226215
3102315
4413615
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))))

simplify423.0ms (4.9%)

Algorithm
egg-herbie
Rules
844×rational.json-simplify-111
836×rational.json-simplify-2
746×rational.json-simplify-1
708×rational.json-simplify-104
580×rational.json-simplify-79
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063739
1132689
2265659
3579649
41691649
53967649
65926649
77913649
Stop Event
node limit
Counts
33 → 35
Calls
Call 1
Inputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
(-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(-.f64 0 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (*.f64 (exp.f64 re) (sin.f64 im))))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(neg.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
Outputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))) (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))) (*.f64 (pow.f64 re 3) (*.f64 1/6 (sin.f64 im)))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 2))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(*.f64 im (exp.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (exp.f64 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 5) 1/120))))
(+.f64 (*.f64 (exp.f64 re) (+.f64 im (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (exp.f64 re) (*.f64 1/120 (pow.f64 im 5))))
(*.f64 (exp.f64 re) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (+.f64 im (*.f64 -1/6 (pow.f64 im 3)))))
(*.f64 (exp.f64 re) (+.f64 im (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 3) -1/6)) (+.f64 (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 5) 1/120)) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 (pow.f64 im 7) -1/5040)))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (exp.f64 re) (*.f64 1/120 (pow.f64 im 5))) (*.f64 (exp.f64 re) (+.f64 im (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 im (*.f64 1/120 (pow.f64 im 5))))))
(*.f64 (exp.f64 re) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))))
(*.f64 (exp.f64 re) (+.f64 im (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 (*.f64 -1/5040 (pow.f64 im 7)) (*.f64 1/120 (pow.f64 im 5))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 0 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (/.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (exp.f64 re))
(neg.f64 (neg.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (sin.f64 im) (exp.f64 re))

eval23.0ms (0.3%)

Compiler

Compiled 531 to 288 computations (45.8% saved)

prune13.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New32335
Fresh000
Picked011
Done000
Total32436
Error
0.0b
Counts
36 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
24.8b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
19.1b
(*.f64 (exp.f64 re) im)
24.6b
(sin.f64 im)
Compiler

Compiled 38 to 27 computations (28.9% saved)

localize6.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series3.0ms (0%)

Counts
1 → 4
Calls

6 calls:

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

rewrite139.0ms (1.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
15911
220511
376911
4296511
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (exp.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (exp.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (exp.f64 re) im) (/.f64 (*.f64 (exp.f64 re) im) (*.f64 (exp.f64 re) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (exp.f64 re) im)))))))

simplify355.0ms (4.1%)

Algorithm
egg-herbie
Rules
844×rational.json-simplify-111
810×rational.json-simplify-76
776×rational.json-simplify-2
708×rational.json-simplify-104
606×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
038211
177211
2168199
3422193
41481193
53696193
65569193
77310193
Stop Event
node limit
Counts
13 → 24
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(+.f64 0 (*.f64 (exp.f64 re) im))
(-.f64 (*.f64 (exp.f64 re) im) 0)
(-.f64 0 (neg.f64 (*.f64 (exp.f64 re) im)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) im))) 1)
(/.f64 (*.f64 (exp.f64 re) im) 1)
(/.f64 (*.f64 (exp.f64 re) im) (/.f64 (*.f64 (exp.f64 re) im) (*.f64 (exp.f64 re) im)))
(pow.f64 (*.f64 (exp.f64 re) im) 1)
(neg.f64 (neg.f64 (*.f64 (exp.f64 re) im)))
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 im re) (+.f64 im (*.f64 1/2 (*.f64 im (pow.f64 re 2)))))
(+.f64 (*.f64 im re) (+.f64 im (*.f64 im (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 im (*.f64 im (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (*.f64 im re) (+.f64 (+.f64 im (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (*.f64 1/6 (*.f64 im (pow.f64 re 3)))))
(+.f64 (*.f64 im re) (+.f64 (+.f64 im (*.f64 im (*.f64 1/2 (pow.f64 re 2)))) (*.f64 1/6 (*.f64 im (pow.f64 re 3)))))
(+.f64 (+.f64 im (*.f64 im (*.f64 1/2 (pow.f64 re 2)))) (*.f64 im (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 im (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
(+.f64 im (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 im (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(*.f64 im (exp.f64 re))
(+.f64 0 (*.f64 (exp.f64 re) im))
(*.f64 im (exp.f64 re))
(-.f64 (*.f64 (exp.f64 re) im) 0)
(*.f64 im (exp.f64 re))
(-.f64 0 (neg.f64 (*.f64 (exp.f64 re) im)))
(*.f64 im (exp.f64 re))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (exp.f64 re) im))) 1)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) im) 1)
(*.f64 im (exp.f64 re))
(/.f64 (*.f64 (exp.f64 re) im) (/.f64 (*.f64 (exp.f64 re) im) (*.f64 (exp.f64 re) im)))
(*.f64 im (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) im) 1)
(*.f64 im (exp.f64 re))
(neg.f64 (neg.f64 (*.f64 (exp.f64 re) im)))
(*.f64 im (exp.f64 re))

localize62.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
0.1b
(*.f64 1/6 (pow.f64 re 3))
2.3b
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
13.5b
(+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
Compiler

Compiled 81 to 57 computations (29.6% saved)

series17.0ms (0.2%)

Counts
4 → 60
Calls

18 calls:

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

rewrite248.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
948×rational.json-simplify-1
842×rational.json-5
840×exponential.json-3
840×rational.json-1
840×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
018154
1154150
2473150
31785150
47277150
Stop Event
node limit
Counts
4 → 57
Calls
Call 1
Inputs
(+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 1/6 (pow.f64 re 3))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 re (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/6 (pow.f64 re 3)) (-.f64 (neg.f64 re) (*.f64 1/2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 1/6 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 2))) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (neg.f64 (*.f64 1/2 (pow.f64 re 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))) (/.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/6 (pow.f64 re 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/6 (pow.f64 re 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/6 (pow.f64 re 3)) (/.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/6 (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 im) (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (neg.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (cos.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 im)) (-.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (sin.f64 im)) (*.f64 (/.f64 1 (sin.f64 im)) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (*.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))) (/.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))))))

simplify332.0ms (3.8%)

Algorithm
egg-herbie
Rules
1182×rational.json-simplify-49
1134×rational.json-simplify-54
724×rational.json-simplify-50
680×rational.json-simplify-1
660×rational.json-simplify-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01735727
14095581
211105305
330425305
477305305
Stop Event
node limit
Counts
117 → 131
Calls
Call 1
Inputs
re
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(*.f64 1/6 (pow.f64 re 3))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(*.f64 1/6 (pow.f64 re 3))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im) (+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 7))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) re)
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im)))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(-.f64 re (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 1/6 (pow.f64 re 3)) (-.f64 (neg.f64 re) (*.f64 1/2 (pow.f64 re 2))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) re))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0)
(-.f64 0 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 2))) (neg.f64 re))
(-.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (neg.f64 (*.f64 1/2 (pow.f64 re 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1))
(*.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))) (/.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(neg.f64 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(pow.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(+.f64 (*.f64 1/6 (pow.f64 re 3)) 0)
(+.f64 0 (*.f64 1/6 (pow.f64 re 3)))
(-.f64 (*.f64 1/6 (pow.f64 re 3)) 0)
(-.f64 0 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (*.f64 1/6 (pow.f64 re 3)) 1)
(/.f64 (*.f64 1/6 (pow.f64 re 3)) (/.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/6 (pow.f64 re 3))))
(pow.f64 (*.f64 1/6 (pow.f64 re 3)) 1)
(neg.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (neg.f64 (sin.f64 im)))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 0)
(-.f64 0 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))
(*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (cos.f64 0)))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))
(*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (sin.f64 im))
(*.f64 (neg.f64 (sin.f64 im)) (-.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 (*.f64 (sin.f64 im) (sin.f64 im)) (*.f64 (/.f64 1 (sin.f64 im)) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) 1))
(*.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(*.f64 (*.f64 (sin.f64 im) (*.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))) (/.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(neg.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
Outputs
re
(+.f64 (*.f64 1/2 (pow.f64 re 2)) re)
(+.f64 re (*.f64 1/2 (pow.f64 re 2)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1/6 (pow.f64 re 3))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1/6 (pow.f64 re 3))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im)
(*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) -1/6)))
(*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 im (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im) (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 5)))))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (+.f64 im (*.f64 1/120 (pow.f64 im 5)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 -1/6 (pow.f64 im 3)) (+.f64 im (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) im) (+.f64 (*.f64 1/120 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 5))) (*.f64 -1/5040 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)) (pow.f64 im 7))))))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))) (*.f64 -1/5040 (*.f64 (pow.f64 im 7) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) -1/6))))
(+.f64 (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))) (*.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (+.f64 im (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/120 (pow.f64 im 5)) (+.f64 im (*.f64 -1/5040 (pow.f64 im 7))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 re (sin.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im)))
(*.f64 (pow.f64 re 3) (*.f64 1/6 (sin.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im)))
(*.f64 (pow.f64 re 3) (*.f64 1/6 (sin.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im)
(*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 (+.f64 re 1) (*.f64 1/2 (pow.f64 re 2)))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im))
(+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 (+.f64 re 1) (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6)))
(+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6)))
(+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1)))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im)))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 (+.f64 re 1) (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))) (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1)))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))))
(+.f64 (*.f64 (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re)))) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 1 re))) im))))
(+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (+.f64 (+.f64 (*.f64 im (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 (+.f64 re 1) (*.f64 1/2 (pow.f64 re 2))))) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/5040))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))))
(+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))) (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))) 1/5040)))))
(+.f64 (*.f64 im (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1)))) (+.f64 (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/5040))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))))
(+.f64 (*.f64 im (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1)))) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 1/120 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))) (+.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 -1/6 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/6)) (*.f64 (pow.f64 im 7) (-.f64 (*.f64 -1/5040 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1/5040)))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) re))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 re (sin.f64 im)))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 re (sin.f64 im)) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (sin.f64 im)))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (*.f64 1/2 (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im)))
(*.f64 (pow.f64 re 3) (*.f64 1/6 (sin.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))
(*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im)))
(*.f64 (pow.f64 re 3) (*.f64 1/6 (sin.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (sin.f64 im))) (*.f64 1/6 (*.f64 (pow.f64 re 3) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(-.f64 re (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (*.f64 1/6 (pow.f64 re 3)) (-.f64 (neg.f64 re) (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (*.f64 1/2 (pow.f64 re 2)) (-.f64 (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (+.f64 re (*.f64 1/2 (pow.f64 re 2))) (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 0)
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 0 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 2))) (neg.f64 re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(-.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (neg.f64 (*.f64 1/2 (pow.f64 re 2))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) 1))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(*.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))) (/.f64 (/.f64 1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(pow.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(neg.f64 (-.f64 (-.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))) (*.f64 1/2 (pow.f64 re 2))) re))
(+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 0 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(-.f64 0 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (/.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(pow.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) 1)
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(neg.f64 (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 1/6 (pow.f64 re 3)) 0)
(*.f64 1/6 (pow.f64 re 3))
(+.f64 0 (*.f64 1/6 (pow.f64 re 3)))
(*.f64 1/6 (pow.f64 re 3))
(-.f64 (*.f64 1/6 (pow.f64 re 3)) 0)
(*.f64 1/6 (pow.f64 re 3))
(-.f64 0 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1/6 (pow.f64 re 3))
(/.f64 (*.f64 1/6 (pow.f64 re 3)) 1)
(*.f64 1/6 (pow.f64 re 3))
(/.f64 (*.f64 1/6 (pow.f64 re 3)) (/.f64 (*.f64 1/6 (pow.f64 re 3)) (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1/6 (pow.f64 re 3))
(pow.f64 (*.f64 1/6 (pow.f64 re 3)) 1)
(*.f64 1/6 (pow.f64 re 3))
(neg.f64 (neg.f64 (*.f64 1/6 (pow.f64 re 3))))
(*.f64 1/6 (pow.f64 re 3))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(-.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (sin.f64 im)) (neg.f64 (sin.f64 im)))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(-.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 0)
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(-.f64 0 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (cos.f64 0)))
(*.f64 (sin.f64 im) (+.f64 (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))) (cos.f64 0)))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3))) (cos.f64 0))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (cos.f64 0))))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (sin.f64 im))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (neg.f64 (sin.f64 im)) (-.f64 -1 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (*.f64 (sin.f64 im) (sin.f64 im)) (*.f64 (/.f64 1 (sin.f64 im)) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) 1))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(*.f64 (*.f64 (sin.f64 im) (*.f64 (*.f64 (sin.f64 im) (*.f64 (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))) (/.f64 (/.f64 1 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))) (*.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (/.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(pow.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1)) 1)
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))
(neg.f64 (neg.f64 (*.f64 (sin.f64 im) (+.f64 (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) 1))))
(-.f64 (sin.f64 im) (neg.f64 (*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (*.f64 1/6 (pow.f64 re 3)))))))
(*.f64 (sin.f64 im) (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re 1))))
(*.f64 (sin.f64 im) (+.f64 re (+.f64 (*.f64 1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/6 (pow.f64 re 3)) 1))))

eval87.0ms (1%)

Compiler

Compiled 4251 to 3001 computations (29.4% saved)

prune26.0ms (0.3%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1532155
Fresh000
Picked011
Done033
Total1536159
Error
0.0b
Counts
159 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
43.4b
(+.f64 (*.f64 re im) im)
24.8b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
19.1b
(*.f64 (exp.f64 re) im)
24.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 48 to 33 computations (31.3% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 re im) im)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series5.0ms (0.1%)

Counts
1 → 21
Calls

6 calls:

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

rewrite81.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
15213
218213
368813
4273713
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(+.f64 (*.f64 re im) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 im (neg.f64 (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 re im) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 im (*.f64 re im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 im (-.f64 -1 (*.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 re im) (-.f64 -1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 re im))) (-.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (+.f64 im (*.f64 re im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re (/.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 im (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (*.f64 (+.f64 re 1) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 1 (+.f64 im (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (-.f64 -1 re)))))))

simplify174.0ms (2%)

Algorithm
egg-herbie
Rules
1274×rational.json-simplify-49
1236×rational.json-simplify-2
784×rational.json-simplify-43
746×rational.json-simplify-54
726×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
082731
1185731
2466731
32033731
46272719
Stop Event
node limit
Counts
53 → 44
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(-.f64 im (neg.f64 (*.f64 re im)))
(-.f64 (*.f64 re im) (neg.f64 im))
(-.f64 (+.f64 im (*.f64 re im)) 0)
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(-.f64 (-.f64 im (-.f64 -1 (*.f64 re im))) 1)
(-.f64 (-.f64 (*.f64 re im) (-.f64 -1 im)) 1)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 re im))) (-.f64 1 im))
(-.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 re im)))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 im (*.f64 re im)))) 1)
(*.f64 im (+.f64 re 1))
(*.f64 im (+.f64 re (/.f64 im im)))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(*.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(*.f64 1 (+.f64 im (*.f64 re im)))
(*.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im)))
(*.f64 (+.f64 re 1) im)
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 (neg.f64 im) (-.f64 -1 re))
(*.f64 (*.f64 im im) (*.f64 (+.f64 re 1) (/.f64 1 im)))
(*.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 1 (+.f64 im (*.f64 re im))))
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im))))
(*.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(*.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))))
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(*.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))))
(/.f64 (+.f64 im (*.f64 re im)) 1)
(/.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(pow.f64 (+.f64 im (*.f64 re im)) 1)
(neg.f64 (*.f64 im (-.f64 -1 re)))
Outputs
im
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(+.f64 im (*.f64 im re))
(-.f64 im (neg.f64 (*.f64 re im)))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 re im) (neg.f64 im))
(+.f64 im (*.f64 im re))
(-.f64 (+.f64 im (*.f64 re im)) 0)
(+.f64 im (*.f64 im re))
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 im (-.f64 -1 (*.f64 re im))) 1)
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 (*.f64 re im) (-.f64 -1 im)) 1)
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 re im))) (-.f64 1 im))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 re im)))
(+.f64 im (*.f64 im re))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 im (*.f64 re im)))) 1)
(+.f64 im (*.f64 im re))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 im re))
(*.f64 im (+.f64 re (/.f64 im im)))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(+.f64 im (*.f64 im re))
(*.f64 1 (+.f64 im (*.f64 re im)))
(+.f64 im (*.f64 im re))
(*.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im)))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 re 1) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(+.f64 im (*.f64 im re))
(*.f64 (neg.f64 im) (-.f64 -1 re))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 im im) (*.f64 (+.f64 re 1) (/.f64 1 im)))
(*.f64 im (*.f64 im (*.f64 (+.f64 re 1) (/.f64 1 im))))
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
(*.f64 (+.f64 re 1) (*.f64 (/.f64 im im) (*.f64 im 1)))
(*.f64 (+.f64 re 1) (*.f64 im (/.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))
(*.f64 im (*.f64 im (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im)))))
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 1 (+.f64 im (*.f64 re im))))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (/.f64 (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (+.f64 im (*.f64 re im))))
(+.f64 im (*.f64 im re))
(*.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
(*.f64 (*.f64 im im) (*.f64 (+.f64 re 1) (/.f64 1 im)))
(*.f64 im (*.f64 im (*.f64 (+.f64 re 1) (/.f64 1 im))))
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
(*.f64 (+.f64 re 1) (*.f64 (/.f64 im im) (*.f64 im 1)))
(*.f64 (+.f64 re 1) (*.f64 im (/.f64 im im)))
(*.f64 (-.f64 -1 re) (neg.f64 im))
(+.f64 im (*.f64 im re))
(*.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))
(+.f64 im (*.f64 im re))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1)))))))
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(/.f64 (+.f64 im (*.f64 re im)) (/.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))))
(+.f64 im (*.f64 im re))
(pow.f64 (+.f64 im (*.f64 re im)) 1)
(+.f64 im (*.f64 im re))
(neg.f64 (*.f64 im (-.f64 -1 re)))
(+.f64 im (*.f64 im re))

eval7.0ms (0.1%)

Compiler

Compiled 567 to 207 computations (63.5% saved)

prune19.0ms (0.2%)

Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New38644
Fresh011
Picked011
Done044
Total381250
Error
0.0b
Counts
50 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
43.4b
(+.f64 (*.f64 re im) im)
24.8b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
57.7b
(*.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))
51.1b
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
43.4b
(*.f64 (+.f64 re 1) im)
51.3b
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
19.1b
(*.f64 (exp.f64 re) im)
61.5b
(*.f64 re im)
43.4b
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
24.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 236 to 135 computations (42.8% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite74.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16013
219213
370813
4274913
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (+.f64 re 1) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 re 1) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))))))

simplify227.0ms (2.6%)

Algorithm
egg-herbie
Rules
940×rational.json-simplify-111
754×rational.json-simplify-2
748×rational.json-simplify-104
608×rational.json-simplify-1
596×rational.json-simplify-79
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028405
154405
2121405
3362405
41438405
53760405
65820405
77675405
Stop Event
node limit
Counts
33 → 17
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(+.f64 0 (*.f64 (+.f64 re 1) im))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(/.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(*.f64 im (+.f64 re 1))
(+.f64 0 (*.f64 (+.f64 re 1) im))
(*.f64 im (+.f64 re 1))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(*.f64 im (+.f64 re 1))
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)
(*.f64 im (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(*.f64 im (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(*.f64 im (+.f64 re 1))
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))

localize3.0ms (0%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 19 computations (26.9% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite90.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
18914
226014
386414
4330414
Stop Event
node limit
Counts
2 → 27
Calls
Call 1
Inputs
(-.f64 -1 (-.f64 -1 im))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 im 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 im 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 -1 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 im 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (/.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im im) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (/.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 im) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 im (*.f64 im im))) (/.f64 (/.f64 1 im) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (/.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 im) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 im 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x . im)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (+.f64 re 1)) 1)))))

simplify171.0ms (2%)

Algorithm
egg-herbie
Rules
1264×rational.json-simplify-2
1194×rational.json-simplify-49
920×rational.json-simplify-42
894×rational.json-simplify-43
838×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052399
184399
2331399
31784399
45943399
Stop Event
node limit
Counts
63 → 34
Calls
Call 1
Inputs
im
im
im
im
im
im
im
im
im
im
im
im
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(+.f64 -1 (+.f64 im 1))
(+.f64 im 0)
(+.f64 1 (+.f64 -1 im))
(+.f64 0 im)
(+.f64 (+.f64 im 1) -1)
(+.f64 (+.f64 -1 im) 1)
(*.f64 -1 (neg.f64 im))
(*.f64 im 1)
(*.f64 im (/.f64 im im))
(*.f64 1 im)
(*.f64 (/.f64 im im) im)
(*.f64 (neg.f64 im) -1)
(*.f64 (*.f64 im im) (/.f64 1 im))
(*.f64 (/.f64 1 im) (*.f64 im im))
(*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (/.f64 (/.f64 1 im) (*.f64 im im)))
(*.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))
(/.f64 im 1)
(/.f64 im (/.f64 im im))
(/.f64 (neg.f64 im) -1)
(pow.f64 im 1)
(neg.f64 (neg.f64 im))
(+.f64 (*.f64 im (+.f64 re 1)) 0)
(+.f64 0 (*.f64 im (+.f64 re 1)))
(-.f64 (*.f64 im (+.f64 re 1)) 0)
(/.f64 (*.f64 im (+.f64 re 1)) 1)
(/.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(pow.f64 (*.f64 im (+.f64 re 1)) 1)
Outputs
im
im
im
im
im
im
im
im
im
im
im
im
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(+.f64 -1 (+.f64 im 1))
im
(+.f64 im 0)
im
(+.f64 1 (+.f64 -1 im))
im
(+.f64 0 im)
im
(+.f64 (+.f64 im 1) -1)
im
(+.f64 (+.f64 -1 im) 1)
im
(*.f64 -1 (neg.f64 im))
im
(*.f64 im 1)
im
(*.f64 im (/.f64 im im))
im
(*.f64 1 im)
im
(*.f64 (/.f64 im im) im)
im
(*.f64 (neg.f64 im) -1)
im
(*.f64 (*.f64 im im) (/.f64 1 im))
im
(*.f64 (/.f64 1 im) (*.f64 im im))
im
(*.f64 (*.f64 im (*.f64 im (*.f64 im im))) (/.f64 (/.f64 1 im) (*.f64 im im)))
im
(*.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im))))
im
(/.f64 im 1)
im
(/.f64 im (/.f64 im im))
im
(/.f64 (neg.f64 im) -1)
im
(pow.f64 im 1)
im
(neg.f64 (neg.f64 im))
im
(+.f64 (*.f64 im (+.f64 re 1)) 0)
(+.f64 im (*.f64 im re))
(+.f64 0 (*.f64 im (+.f64 re 1)))
(+.f64 im (*.f64 im re))
(-.f64 (*.f64 im (+.f64 re 1)) 0)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 im (+.f64 re 1)) 1)
(+.f64 im (*.f64 im re))
(/.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(+.f64 im (*.f64 im re))
(pow.f64 (*.f64 im (+.f64 re 1)) 1)
(+.f64 im (*.f64 im re))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 im (*.f64 im re))
0.0b
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
6.1b
(*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series3.0ms (0%)

Counts
3 → 72
Calls

18 calls:

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

rewrite119.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
908×rational.json-simplify-49
796×rational.json-simplify-47
742×rational.json-simplify-50
534×rational.json-simplify-76
516×rational.json-5
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01069
18869
228357
3108857
4464957
Stop Event
node limit
Counts
3 → 50
Calls
Call 1
Inputs
(*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im))
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
(+.f64 im (*.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (/.f64 (+.f64 re 1) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im (/.f64 (+.f64 re 1) im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (*.f64 im (/.f64 (+.f64 re 1) im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 im (neg.f64 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im re) (neg.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 im (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 im (-.f64 -1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 im (-.f64 -1 (*.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (-.f64 1 im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 im (+.f64 re 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re (/.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 im (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 im) (-.f64 -1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 1 (*.f64 im (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (*.f64 (/.f64 1 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))) (/.f64 (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 im (-.f64 -1 re)))))))

simplify195.0ms (2.2%)

Algorithm
egg-herbie
Rules
1432×rational.json-simplify-2
1246×rational.json-simplify-47
982×rational.json-simplify-1
916×rational.json-simplify-54
782×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01141460
12691460
26281460
322261460
472591460
Stop Event
node limit
Counts
122 → 63
Calls
Call 1
Inputs
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)
(+.f64 0 (*.f64 im (/.f64 (+.f64 re 1) im)))
(-.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)
(-.f64 0 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (/.f64 (+.f64 re 1) im)))) 1)
(/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)
(/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (*.f64 im (/.f64 (+.f64 re 1) im))))
(pow.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)
(neg.f64 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))
(+.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)
(+.f64 0 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))
(-.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)
(-.f64 0 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))) 1)
(/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)
(/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(pow.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)
(neg.f64 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(-.f64 im (neg.f64 (*.f64 im re)))
(-.f64 (*.f64 im re) (neg.f64 im))
(-.f64 (*.f64 im (+.f64 re 1)) 0)
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(-.f64 (-.f64 im (-.f64 -1 (*.f64 im re))) 1)
(-.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 im re)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (-.f64 1 im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (+.f64 re 1)))) 1)
(-.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1)
(*.f64 im (+.f64 re 1))
(*.f64 im (+.f64 re (/.f64 im im)))
(*.f64 (*.f64 im (+.f64 re 1)) 1)
(*.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(*.f64 1 (*.f64 im (+.f64 re 1)))
(*.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1)))
(*.f64 (+.f64 re 1) im)
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 (neg.f64 im) (-.f64 -1 re))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 1 (*.f64 im (+.f64 re 1))))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1))))
(*.f64 (*.f64 im im) (*.f64 (/.f64 1 im) (+.f64 re 1)))
(*.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))
(*.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im))
(*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))
(*.f64 (*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))) (/.f64 (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))))
(/.f64 (*.f64 im (+.f64 re 1)) 1)
(/.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(pow.f64 (*.f64 im (+.f64 re 1)) 1)
(neg.f64 (*.f64 im (-.f64 -1 re)))
Outputs
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(+.f64 1 re)
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(+.f64 1 re)
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(+.f64 1 re)
(*.f64 -1 (-.f64 (*.f64 -1 re) 1))
(+.f64 1 re)
1
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
re
(+.f64 1 re)
(+.f64 1 re)
(+.f64 1 re)
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
im
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
im
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(+.f64 (*.f64 re im) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 1 re))
(+.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)
(*.f64 im (/.f64 (+.f64 1 re) im))
(+.f64 0 (*.f64 im (/.f64 (+.f64 re 1) im)))
(*.f64 im (/.f64 (+.f64 1 re) im))
(-.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 0)
(*.f64 im (/.f64 (+.f64 1 re) im))
(-.f64 0 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))
(*.f64 im (/.f64 (+.f64 1 re) im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (/.f64 (+.f64 re 1) im)))) 1)
(*.f64 im (/.f64 (+.f64 1 re) im))
(/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)
(*.f64 im (/.f64 (+.f64 1 re) im))
(/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (/.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) (*.f64 im (/.f64 (+.f64 re 1) im))))
(*.f64 im (/.f64 (+.f64 1 re) im))
(pow.f64 (*.f64 im (/.f64 (+.f64 re 1) im)) 1)
(*.f64 im (/.f64 (+.f64 1 re) im))
(neg.f64 (neg.f64 (*.f64 im (/.f64 (+.f64 re 1) im))))
(*.f64 im (/.f64 (+.f64 1 re) im))
(+.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(+.f64 0 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 0)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 0 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))))) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (/.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(pow.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im))) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(neg.f64 (neg.f64 (*.f64 im (*.f64 im (/.f64 (+.f64 re 1) im)))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 im (neg.f64 (*.f64 im re)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 im re) (neg.f64 im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (*.f64 im (+.f64 re 1)) 0)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 0 (*.f64 im (-.f64 -1 re)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 im (-.f64 -1 (*.f64 im re))) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 0 (-.f64 -1 im)) (-.f64 1 (*.f64 im re)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im re))) (-.f64 1 im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 im (+.f64 re 1)))) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(-.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 re 1))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 im (+.f64 re (/.f64 im im)))
(*.f64 (*.f64 im (+.f64 re 1)) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 1 (*.f64 im (+.f64 re 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 re 1) im)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (neg.f64 im) (-.f64 -1 re))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 1 (*.f64 im (+.f64 re 1))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (/.f64 (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))) (*.f64 im (+.f64 re 1))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im im) (*.f64 (/.f64 1 im) (+.f64 re 1)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 im im) (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))
(*.f64 im (*.f64 im (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im)))))
(*.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (/.f64 (*.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) 1) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(*.f64 (*.f64 (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))) (/.f64 (/.f64 (/.f64 1 (*.f64 im (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1)))) (*.f64 (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))) (*.f64 im (*.f64 (*.f64 im (+.f64 re 1)) (+.f64 re 1))))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (+.f64 re 1)) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(/.f64 (*.f64 im (+.f64 re 1)) (/.f64 (*.f64 im (+.f64 re 1)) (*.f64 im (+.f64 re 1))))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(pow.f64 (*.f64 im (+.f64 re 1)) 1)
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))
(neg.f64 (*.f64 im (-.f64 -1 re)))
(*.f64 im (+.f64 1 re))
(+.f64 im (*.f64 re im))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 re 1) (/.f64 1 im))
22.5b
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
Compiler

Compiled 32 to 19 computations (40.6% saved)

series4.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite112.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1298×rational.json-simplify-49
1006×rational.json-simplify-47
674×rational.json-simplify-58
578×rational.json-simplify-55
570×rational.json-simplify-43
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01050
18850
229432
3115432
4501532
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
(*.f64 (+.f64 re 1) (/.f64 1 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 re 1) im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re 1) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re 1) im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 re 1) (/.f64 1 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 (+.f64 re 1) (/.f64 1 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))))))

simplify151.0ms (1.7%)

Algorithm
egg-herbie
Rules
1232×rational.json-simplify-49
854×rational.json-simplify-54
778×rational.json-simplify-111
740×rational.json-simplify-43
700×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046924
193924
2215924
3671924
42767924
57435924
Stop Event
node limit
Counts
66 → 33
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) im)
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(/.f64 1 im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(/.f64 re im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(/.f64 re im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 1 re) im)
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(+.f64 0 (*.f64 (+.f64 re 1) im))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(/.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))
(+.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)
(+.f64 0 (*.f64 (+.f64 re 1) (/.f64 1 im)))
(-.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1)
(/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)
(/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 (+.f64 re 1) (/.f64 1 im))))
(pow.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(/.f64 1 im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(/.f64 re im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(/.f64 re im)
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(+.f64 (/.f64 re im) (/.f64 1 im))
(+.f64 (/.f64 1 im) (/.f64 re im))
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(/.f64 (+.f64 1 re) im)
(/.f64 (+.f64 re 1) im)
(+.f64 (*.f64 (+.f64 re 1) im) 0)
(*.f64 im (+.f64 re 1))
(+.f64 0 (*.f64 (+.f64 re 1) im))
(*.f64 im (+.f64 re 1))
(-.f64 (*.f64 (+.f64 re 1) im) 0)
(*.f64 im (+.f64 re 1))
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) im))) 1)
(*.f64 im (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) im) 1)
(*.f64 im (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) im) (/.f64 (*.f64 (+.f64 re 1) im) (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))
(pow.f64 (*.f64 (+.f64 re 1) im) 1)
(*.f64 im (+.f64 re 1))
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) im)))
(*.f64 im (+.f64 re 1))
(+.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)
(*.f64 (/.f64 1 im) (+.f64 re 1))
(+.f64 0 (*.f64 (+.f64 re 1) (/.f64 1 im)))
(*.f64 (/.f64 1 im) (+.f64 re 1))
(-.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 0)
(*.f64 (/.f64 1 im) (+.f64 re 1))
(-.f64 0 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))
(*.f64 (/.f64 1 im) (+.f64 re 1))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1)
(*.f64 (/.f64 1 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)
(*.f64 (/.f64 1 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (/.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 (+.f64 re 1) (/.f64 1 im))))
(*.f64 (/.f64 1 im) (+.f64 re 1))
(pow.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) 1)
(*.f64 (/.f64 1 im) (+.f64 re 1))
(neg.f64 (neg.f64 (*.f64 (+.f64 re 1) (/.f64 1 im))))
(*.f64 (/.f64 1 im) (+.f64 re 1))

eval31.0ms (0.4%)

Compiler

Compiled 1711 to 1052 computations (38.5% saved)

prune36.0ms (0.4%)

Pruning

19 alts after pruning (10 fresh and 9 done)

PrunedKeptTotal
New1389147
Fresh112
Picked101
Done099
Total14019159
Error
0.0b
Counts
159 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
43.4b
(+.f64 (*.f64 re im) im)
24.8b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) (+.f64 (*.f64 1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/2 (pow.f64 re 2))))))
51.3b
(*.f64 (/.f64 (+.f64 re 1) im) (*.f64 im im))
61.5b
(*.f64 (/.f64 re im) (*.f64 im im))
48.4b
(*.f64 (/.f64 1 im) (*.f64 im im))
49.9b
(*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im))
51.1b
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
57.1b
(*.f64 (+.f64 re 1) (*.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im)))))
43.4b
(*.f64 (+.f64 re 1) im)
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
19.1b
(*.f64 (exp.f64 re) im)
61.5b
(*.f64 re im)
57.2b
(*.f64 im (*.f64 (-.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1) (/.f64 1 im)))
43.4b
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
51.3b
(*.f64 im (*.f64 (*.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im)) (/.f64 1 im)))
43.6b
(*.f64 im (*.f64 (*.f64 im (*.f64 im (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))) (/.f64 1 im)))
43.5b
(*.f64 im (*.f64 im (/.f64 (+.f64 1 re) im)))
24.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 221 to 149 computations (32.6% saved)

regimes65.0ms (0.7%)

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

5 calls:

17.0ms
(sin.f64 im)
15.0ms
im
15.0ms
re
8.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
3.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (exp.f64 re) (sin.f64 im))
0.0b1(exp.f64 re)
0.0b1(sin.f64 im)
Compiler

Compiled 260 to 138 computations (46.9% saved)

regimes136.0ms (1.6%)

Counts
19 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 re 1) im)
(+.f64 (*.f64 re im) im)
(*.f64 (/.f64 1 im) (*.f64 im im))
(*.f64 (/.f64 re im) (*.f64 im im))
(*.f64 im (*.f64 im (/.f64 (+.f64 1 re) im)))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 (/.f64 (+.f64 re 1) im) (*.f64 im im))
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
(*.f64 im (*.f64 (-.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1) (/.f64 1 im)))
(*.f64 im (*.f64 (*.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im)) (/.f64 1 im)))
(*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im))
(*.f64 im (*.f64 (*.f64 im (*.f64 im (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))) (/.f64 1 im)))
(*.f64 (+.f64 re 1) (*.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))
(sin.f64 im)
(*.f64 (exp.f64 re) im)
Outputs
(*.f64 (exp.f64 re) im)
(sin.f64 im)
Calls

4 calls:

66.0ms
im
35.0ms
(sin.f64 im)
24.0ms
re
5.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
1.0b2re
10.4b5im
1.0b2(exp.f64 re)
13.2b3(sin.f64 im)
Compiler

Compiled 229 to 120 computations (47.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
0.9955679820912403
Compiler

Compiled 12 to 9 computations (25% saved)

regimes119.0ms (1.4%)

Counts
18 → 4
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 re 1) im)
(+.f64 (*.f64 re im) im)
(*.f64 (/.f64 1 im) (*.f64 im im))
(*.f64 (/.f64 re im) (*.f64 im im))
(*.f64 im (*.f64 im (/.f64 (+.f64 1 re) im)))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 (/.f64 (+.f64 re 1) im) (*.f64 im im))
(*.f64 im (*.f64 (+.f64 im (*.f64 im re)) (/.f64 1 im)))
(*.f64 (*.f64 (+.f64 re 1) (/.f64 1 im)) (*.f64 im im))
(*.f64 im (*.f64 (-.f64 (-.f64 (*.f64 im re) (-.f64 -1 im)) 1) (/.f64 1 im)))
(*.f64 im (*.f64 (*.f64 (*.f64 (/.f64 1 im) (+.f64 re 1)) (*.f64 im im)) (/.f64 1 im)))
(*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im))
(*.f64 im (*.f64 (*.f64 im (*.f64 im (+.f64 (/.f64 1 im) (*.f64 re (/.f64 1 im))))) (/.f64 1 im)))
(*.f64 (+.f64 re 1) (*.f64 (/.f64 (/.f64 1 im) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 im im)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 im (*.f64 re im))) (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))) (*.f64 im (*.f64 (*.f64 (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im))) (*.f64 im (*.f64 (+.f64 re 1) (+.f64 re 1))))))
(sin.f64 im)
Outputs
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im))
(*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im)))
(sin.f64 im)
Calls

3 calls:

43.0ms
re
36.0ms
im
34.0ms
(sin.f64 im)
Results
ErrorSegmentsBranch
14.1b4re
23.4b3im
23.4b3(sin.f64 im)
Compiler

Compiled 221 to 115 computations (48% saved)

bsearch78.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-461703013.55017775
-3079063.6371545903
41.0ms
-5.4013980983931985e+41
-1.1865827738082607e+36
20.0ms
-2.534874852434499e+75
-6.795696808423768e+69
Results
49.0ms400×body256valid
Compiler

Compiled 707 to 575 computations (18.7% saved)

regimes79.0ms (0.9%)

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

2 calls:

39.0ms
re
32.0ms
im
Results
ErrorSegmentsBranch
32.4b4re
41.8b3im
Compiler

Compiled 215 to 111 computations (48.4% saved)

bsearch62.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
-461703013.55017775
-3079063.6371545903
22.0ms
-5.4013980983931985e+41
-1.1865827738082607e+36
20.0ms
-2.534874852434499e+75
-6.795696808423768e+69
Results
55.0ms400×body256valid
Compiler

Compiled 728 to 582 computations (20.1% saved)

regimes44.0ms (0.5%)

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

2 calls:

23.0ms
im
17.0ms
re
Results
ErrorSegmentsBranch
33.7b2re
42.0b3im
Compiler

Compiled 117 to 64 computations (45.3% saved)

bsearch16.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-461703013.55017775
-3079063.6371545903
Results
14.0ms112×body256valid
Compiler

Compiled 152 to 114 computations (25% saved)

regimes21.0ms (0.2%)

Counts
7 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(*.f64 (+.f64 re 1) im)
(+.f64 (*.f64 re im) im)
(*.f64 (/.f64 1 im) (*.f64 im im))
(*.f64 (/.f64 re im) (*.f64 im im))
(*.f64 im (*.f64 im (/.f64 (+.f64 1 re) im)))
Outputs
(*.f64 (/.f64 1 im) (*.f64 im im))
(+.f64 (*.f64 re im) im)
Calls

2 calls:

10.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
40.1b2re
43.2b1im
Compiler

Compiled 45 to 22 computations (51.1% saved)

bsearch19.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
-461703013.55017775
-3079063.6371545903
Results
17.0ms112×body256valid
Compiler

Compiled 138 to 93 computations (32.6% saved)

regimes9.0ms (0.1%)

Accuracy

Total -18.7b remaining (-43.2%)

Threshold costs -18.7b (-43.2%)

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

2 calls:

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

Compiled 22 to 11 computations (50% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048403
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (sin.f64 im))
(if (<=.f64 re -6799999999999999726965996961454369678703432410441757488154267965456384) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (if (<=.f64 re -314999999999999993248761330653121648525312) (*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im)) (if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (sin.f64 im))))
(if (<=.f64 re -6799999999999999726965996961454369678703432410441757488154267965456384) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (if (<=.f64 re -101999999999999991734714785577923160047616) (*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im)) (if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (+.f64 (*.f64 re im) im))))
(if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (+.f64 (*.f64 re im) im))
(if (<=.f64 re -4100000) (*.f64 (/.f64 1 im) (*.f64 im im)) (+.f64 (*.f64 re im) im))
im
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (sin.f64 im))
(if (<=.f64 re -6799999999999999726965996961454369678703432410441757488154267965456384) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (if (<=.f64 re -314999999999999993248761330653121648525312) (*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im)) (if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (sin.f64 im))))
(if (<=.f64 re -6799999999999999726965996961454369678703432410441757488154267965456384) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (if (<=.f64 re -101999999999999991734714785577923160047616) (*.f64 (-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 re 1) (/.f64 1 im)))) 1) (*.f64 im im)) (if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (+.f64 (*.f64 re im) im))))
(if (<=.f64 re -3100000) (*.f64 (+.f64 re 1) (-.f64 -1 (-.f64 -1 im))) (+.f64 (*.f64 re im) im))
(if (<=.f64 re -4100000) (*.f64 (/.f64 1 im) (*.f64 im im)) (+.f64 (*.f64 re im) im))
im
Compiler

Compiled 166 to 119 computations (28.3% saved)

soundness0.0ms (0%)

end80.0ms (0.9%)

Compiler

Compiled 154 to 98 computations (36.4% saved)

Profiling

Loading profile data...