Details

Time bar (total: 4.1s)

analyze60.0ms (1.4%)

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)

sample2.0s (48.4%)

Results
936.0ms6197×body256valid
507.0ms1348×body1024valid
224.0ms677×body1024infinite
170.0ms706×body512valid
84.0ms375×body512infinite
66.0ms535×body256infinite
3.0msbody2048valid
Bogosity

preprocess18.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11116
022
Stop Event
saturated
saturated
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)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

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

localize6.0ms (0.2%)

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)

series18.0ms (0.4%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
im
@0
(*.f64 (exp.f64 re) (sin.f64 im))
1.0ms
re
@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))
Compiler

Compiled 1015 to 320 computations (68.5% saved)

rewrite37.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
530×pow1_binary64
504×add-sqr-sqrt_binary64
483×add-log-exp_binary64
483×log1p-expm1-u_binary64
483×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11138
213248
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (sin.f64 im))))))))

simplify46.0ms (1.1%)

Algorithm
egg-herbie
Rules
678×associate-/l*_binary64
404×distribute-rgt-out_binary64
351×fma-neg_binary64
346×*-commutative_binary64
251×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032154
177121
224788
3133788
4323888
5479488
Stop Event
node limit
Counts
11 → 14
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
Outputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) -1)
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))

eval2.0ms (0.1%)

Compiler

Compiled 107 to 43 computations (59.8% saved)

prune3.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New11314
Fresh000
Picked011
Done000
Total11415
Error
0.0b
Counts
15 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
24.7b
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
37.3b
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
12.9b
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 35 to 27 computations (22.9% saved)

localize11.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
0.3b
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
12.9b
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 29 to 11 computations (62.1% saved)

series136.0ms (3.3%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
26.0ms
im
@0
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
4.0ms
re
@0
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
4.0ms
im
@inf
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
3.0ms
im
@-inf
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
3.0ms
re
@inf
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 11130 to 6730 computations (39.5% saved)

rewrite48.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
664×add-log-exp_binary64
664×log1p-expm1-u_binary64
664×expm1-log1p-u_binary64
645×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
118419
2190619
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 re) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (exp.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 re) (*.f64 (sin.f64 im) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (*.f64 (exp.f64 re) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 3) (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3) (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (exp.f64 re)) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sin.f64 im)) (exp.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1) (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (+.f64 re (log.f64 (sin.f64 im)))))))))

simplify44.0ms (1.1%)

Algorithm
egg-herbie
Rules
769×distribute-rgt-in_binary64
631×unswap-sqr_binary64
471×exp-prod_binary64
468×cube-prod_binary64
438×fabs-mul_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0115831
1258669
2856507
33713507
Stop Event
node limit
Counts
54 → 59
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))
(*.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (pow.f64 1 1/3) (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(*.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))
(*.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)) 1)
(*.f64 (exp.f64 re) (*.f64 (sin.f64 im) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(*.f64 (sin.f64 im) (*.f64 (exp.f64 re) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3))
(*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 3) (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3) (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (exp.f64 re)) (sin.f64 im))
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sin.f64 im)) (exp.f64 re))
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1) (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(exp.f64 (*.f64 3 (+.f64 re (log.f64 (sin.f64 im)))))
Outputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 re) (sin.f64 im))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1/3) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 1 1/3) (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (exp.f64 re) (*.f64 (sin.f64 im) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (sin.f64 im) (*.f64 (exp.f64 re) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 1 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 3) (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3) (pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (exp.f64 re)) (sin.f64 im))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sin.f64 im)) (exp.f64 re))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) 1) (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 6))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)
(exp.f64 (*.f64 3 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 1))
(+.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3) 0)
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 re (log.f64 (sin.f64 im)))
0.3b
(log.f64 (sin.f64 im))
0.8b
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
Compiler

Compiled 20 to 6 computations (70% saved)

series62.0ms (1.5%)

Counts
3 → 0
Calls

15 calls:

TimeVariablePointExpression
26.0ms
im
@inf
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
19.0ms
im
@-inf
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
3.0ms
re
@0
(+.f64 re (log.f64 (sin.f64 im)))
1.0ms
im
@0
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
1.0ms
re
@0
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
Compiler

Compiled 1390 to 710 computations (48.9% saved)

rewrite57.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
754×pow1_binary64
697×add-log-exp_binary64
697×log1p-expm1-u_binary64
697×expm1-log1p-u_binary64
681×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114221
2188321
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(+.f64 re (log.f64 (sin.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (exp.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 im) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 re) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) 1) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (+.f64 re (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (log.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (sin.f64 im))) (log.f64 (sqrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (sin.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (sin.f64 im) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 re (log.f64 (sin.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 re re) (-.f64 re (log.f64 (sin.f64 im)))) (/.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))) (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 re (log.f64 (sin.f64 im))) (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 re (log.f64 (sin.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))) (neg.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 re (log.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 re (log.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (sin.f64 im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (sin.f64 im)))))))

simplify59.0ms (1.4%)

Algorithm
egg-herbie
Rules
830×fma-neg_binary64
658×fma-def_binary64
474×unswap-sqr_binary64
337×distribute-rgt-in_binary64
337×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01521329
1346969
21388824
37786824
Stop Event
node limit
Counts
75 → 87
Calls
Call 1
Inputs
(+.f64 1 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(*.f64 1 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (*.f64 (exp.f64 re) 1) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(pow.f64 (exp.f64 1) (+.f64 re (log.f64 (sin.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (log.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 0 (log.f64 (sin.f64 im)))
(+.f64 (log.f64 (sqrt.f64 (sin.f64 im))) (log.f64 (sqrt.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (log.f64 (sin.f64 im))) 1)
(*.f64 (log.f64 (sin.f64 im)) 1)
(*.f64 1 (log.f64 (sin.f64 im)))
(*.f64 (cbrt.f64 (log.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))))
(*.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))))
(pow.f64 (log.f64 (sin.f64 im)) 1)
(pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 3)
(pow.f64 (sqrt.f64 (log.f64 (sin.f64 im))) 2)
(pow.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) 1/3)
(sqrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 2))
(cbrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 3))
(expm1.f64 (log1p.f64 (log.f64 (sin.f64 im))))
(log1p.f64 (-.f64 (sin.f64 im) 1))
(exp.f64 (log.f64 (log.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (+.f64 re (log.f64 (sin.f64 im)))) 1)
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (log.f64 (sin.f64 im)))) (/.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 re (log.f64 (sin.f64 im)))))
(*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)
(*.f64 1 (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(*.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (sin.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))) (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))))
(/.f64 1 (/.f64 (-.f64 re (log.f64 (sin.f64 im))) (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 re (log.f64 (sin.f64 im))))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))) (neg.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (sin.f64 im)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)
(pow.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 3)
(pow.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)
(sqrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 2))
(log.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(cbrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3))
(expm1.f64 (log1p.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(log1p.f64 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(exp.f64 (log.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(fma.f64 1 re (log.f64 (sin.f64 im)))
(fma.f64 1 (log.f64 (sin.f64 im)) re)
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (sin.f64 im)))
(fma.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (sin.f64 im)))
Outputs
(+.f64 1 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 1 (*.f64 (sin.f64 im) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) (sin.f64 im))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) 1) (sin.f64 im))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im))))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(pow.f64 (exp.f64 1) (+.f64 re (log.f64 (sin.f64 im))))
(pow.f64 (E.f64) (+.f64 re (log.f64 (sin.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (log.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(+.f64 0 (log.f64 (sin.f64 im)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(+.f64 (log.f64 (sqrt.f64 (sin.f64 im))) (log.f64 (sqrt.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(-.f64 (+.f64 1 (log.f64 (sin.f64 im))) 1)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(*.f64 (log.f64 (sin.f64 im)) 1)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(*.f64 1 (log.f64 (sin.f64 im)))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(*.f64 (cbrt.f64 (log.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(*.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(pow.f64 (log.f64 (sin.f64 im)) 1)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 3)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(pow.f64 (sqrt.f64 (log.f64 (sin.f64 im))) 2)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(pow.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) 1/3)
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(sqrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 2))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(cbrt.f64 (pow.f64 (log.f64 (sin.f64 im)) 3))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(expm1.f64 (log1p.f64 (log.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(log1p.f64 (-.f64 (sin.f64 im) 1))
(log1p.f64 (+.f64 (sin.f64 im) -1))
(exp.f64 (log.f64 (log.f64 (sin.f64 im))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))) (log.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 3 (log.f64 (cbrt.f64 (sin.f64 im))))
(log.f64 (sin.f64 im))
(-.f64 (+.f64 1 (+.f64 re (log.f64 (sin.f64 im)))) 1)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (log.f64 (sin.f64 im)))) (/.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 re (log.f64 (sin.f64 im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(*.f64 1 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(*.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2) (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(*.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(*.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (log.f64 (sin.f64 im))) (pow.f64 (log.f64 (sin.f64 im)) 2)))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (/.f64 1 (-.f64 re (log.f64 (sin.f64 im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))) (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))))
(*.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (log.f64 (sin.f64 im))) (pow.f64 (log.f64 (sin.f64 im)) 2)))
(/.f64 1 (/.f64 (-.f64 re (log.f64 (sin.f64 im))) (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(*.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (log.f64 (sin.f64 im))) (pow.f64 (log.f64 (sin.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3)) (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 re (log.f64 (sin.f64 im))))))
(*.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (log.f64 (sin.f64 im))) (pow.f64 (log.f64 (sin.f64 im)) 2)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 re 3) (pow.f64 (log.f64 (sin.f64 im)) 3))) (neg.f64 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(*.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re)))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (log.f64 (sin.f64 im)) (-.f64 (log.f64 (sin.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 (log.f64 (sin.f64 im)) 3) (pow.f64 re 3)) (fma.f64 re (-.f64 re (log.f64 (sin.f64 im))) (pow.f64 (log.f64 (sin.f64 im)) 2)))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2))) (neg.f64 (-.f64 re (log.f64 (sin.f64 im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(/.f64 (-.f64 (pow.f64 (log.f64 (sin.f64 im)) 2) (*.f64 re re)) (-.f64 (log.f64 (sin.f64 im)) re))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (log.f64 (sin.f64 im)) 2)) (-.f64 re (log.f64 (sin.f64 im))))
(pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 1)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(pow.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3) 1/3)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(pow.f64 (cbrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 3)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(pow.f64 (sqrt.f64 (+.f64 re (log.f64 (sin.f64 im)))) 2)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(sqrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 2))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(log.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(cbrt.f64 (pow.f64 (+.f64 re (log.f64 (sin.f64 im))) 3))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(log1p.f64 (expm1.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(exp.f64 (log.f64 (+.f64 re (log.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 1 re (log.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 1 (log.f64 (sin.f64 im)) re)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 (sin.f64 im))) 2) (cbrt.f64 (log.f64 (sin.f64 im))) re)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (log.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 (sqrt.f64 (log.f64 (sin.f64 im))) (sqrt.f64 (log.f64 (sin.f64 im))) re)
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (log.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (+.f64 re (log.f64 (sin.f64 im))) 1))
(+.f64 re (log.f64 (sin.f64 im)))

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
0.0b
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
0.2b
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
Compiler

Compiled 28 to 9 computations (67.9% saved)

series50.0ms (1.2%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@0
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
1.0ms
re
@0
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
1.0ms
re
@inf
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
1.0ms
re
@-inf
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
1.0ms
im
@-inf
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
Compiler

Compiled 4800 to 2190 computations (54.4% saved)

rewrite48.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
681×pow1_binary64
626×add-log-exp_binary64
626×log1p-expm1-u_binary64
626×expm1-log1p-u_binary64
610×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
117918
2177018
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 re) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (exp.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/2))))))

simplify53.0ms (1.3%)

Algorithm
egg-herbie
Rules
439×unswap-sqr_binary64
338×fma-neg_binary64
316×cube-prod_binary64
285×fabs-mul_binary64
277×distribute-rgt-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0113772
1236616
2744460
32654460
45403460
Stop Event
node limit
Counts
52 → 57
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))
(*.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(*.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))
(*.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (sin.f64 im)))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (exp.f64 re)))
(*.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (sin.f64 im)))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1/2))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/2))
Outputs
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (exp.f64 re) (sin.f64 im))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 1 (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 re)) 2) (*.f64 (cbrt.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (sin.f64 im)) (*.f64 (sqrt.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (exp.f64 re)) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (sqrt.f64 (exp.f64 re)) (*.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4)) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (exp.f64 re) (sqrt.f64 (sin.f64 im))) (sqrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) (pow.f64 (cbrt.f64 (exp.f64 re)) 2)) (cbrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sin.f64 im) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (sqrt.f64 (exp.f64 re))) (sqrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 2))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(*.f64 (exp.f64 re) (sin.f64 im))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 1 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sqrt.f64 (sin.f64 im)) (sqrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sqrt.f64 (exp.f64 re)) (sqrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(fabs.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))
(exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 1))
(+.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 0)
(sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im)))

eval71.0ms (1.7%)

Compiler

Compiled 2628 to 936 computations (64.4% saved)

prune32.0ms (0.8%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New2292231
Fresh000
Picked011
Done033
Total2296235
Error
0.0b
Counts
235 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
24.7b
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
37.3b
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
12.9b
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 66 to 45 computations (31.8% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
0.3b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
0.5b
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
0.6b
(cbrt.f64 (sin.f64 im))
Compiler

Compiled 35 to 12 computations (65.7% saved)

series78.0ms (1.9%)

Counts
4 → 0
Calls

18 calls:

TimeVariablePointExpression
4.0ms
re
@inf
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
2.0ms
re
@inf
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
2.0ms
im
@0
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
1.0ms
im
@inf
(cbrt.f64 (sin.f64 im))
1.0ms
im
@-inf
(cbrt.f64 (sin.f64 im))
Compiler

Compiled 5965 to 3765 computations (36.9% saved)

rewrite58.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
837×pow1_binary64
769×add-log-exp_binary64
769×log1p-expm1-u_binary64
769×expm1-log1p-u_binary64
750×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
119731
2219231
Stop Event
node limit
Counts
4 → 63
Calls
Call 1
Inputs
(cbrt.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 im) 1/6) (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 im) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 im) 1/6) (*.f64 (pow.f64 (sin.f64 im) 1/6) (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 2) (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) (pow.f64 (sin.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sin.f64 im)) re))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (sin.f64 im) (pow.f64 (exp.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (cbrt.f64 (sin.f64 im)))))))))

simplify43.0ms (1%)

Algorithm
egg-herbie
Rules
537×fma-def_binary64
522×distribute-rgt-in_binary64
498×distribute-lft-in_binary64
269×associate-+l+_binary64
247×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0131862
1267679
21012497
32884492
Stop Event
node limit
Counts
63 → 80
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)
(*.f64 (cbrt.f64 (sin.f64 im)) 1)
(*.f64 1 (cbrt.f64 (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))
(*.f64 (pow.f64 (sin.f64 im) 1/6) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 im)))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3))
(pow.f64 (sin.f64 im) 1/3)
(pow.f64 (cbrt.f64 (sin.f64 im)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))
(fabs.f64 (cbrt.f64 (sin.f64 im)))
(log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))
(expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))
(log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))
(exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) 1)
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))
(*.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (pow.f64 (sin.f64 im) 1/6) (*.f64 (pow.f64 (sin.f64 im) 1/6) (cbrt.f64 (sin.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 2) (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) (pow.f64 (sin.f64 im) 2)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 (log.f64 (sin.f64 im)) re))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 1)
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3))
(cbrt.f64 (*.f64 (sin.f64 im) (pow.f64 (exp.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (sin.f64 im)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (cbrt.f64 (sin.f64 im)))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (cbrt.f64 (sin.f64 im)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 1 (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (pow.f64 (sin.f64 im) 1/6) (pow.f64 (sin.f64 im) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))) (fabs.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 4)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im))))
(pow.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) 4)
(pow.f64 (sin.f64 im) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (sin.f64 im)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(fabs.f64 (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 1 (pow.f64 (cbrt.f64 (sin.f64 im)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (pow.f64 (sin.f64 im) 1/6) (*.f64 (pow.f64 (sin.f64 im) 1/6) (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 2)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) 0)
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 2) (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) (pow.f64 (sin.f64 im) 2)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(exp.f64 (+.f64 (log.f64 (sin.f64 im)) re))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(cbrt.f64 (*.f64 (sin.f64 im) (pow.f64 (exp.f64 re) 3)))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (sin.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cbrt.f64 (sin.f64 im)))))
(+.f64 1 (-.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 1))
(+.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)) 0)
(*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re))

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sin.f64 im) (exp.f64 re))
0.3b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
0.3b
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
0.4b
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
Compiler

Compiled 43 to 12 computations (72.1% saved)

series147.0ms (3.5%)

Counts
4 → 0
Calls

24 calls:

TimeVariablePointExpression
8.0ms
re
@-inf
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
3.0ms
re
@0
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
2.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
2.0ms
im
@inf
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
2.0ms
im
@0
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
Compiler

Compiled 12805 to 8020 computations (37.4% saved)

rewrite63.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
743×pow1_binary64
688×add-log-exp_binary64
687×log1p-expm1-u_binary64
687×expm1-log1p-u_binary64
670×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
120039
2199039
Stop Event
node limit
Counts
4 → 67
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (sin.f64 im) (exp.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 im)) (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (sin.f64 im))) (cbrt.f64 (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (sin.f64 im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 re (log.f64 (sin.f64 im))))))))

simplify57.0ms (1.4%)

Algorithm
egg-herbie
Rules
405×fma-neg_binary64
360×prod-exp_binary64
333×sqr-pow_binary64
333×fma-def_binary64
319×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01111076
1225878
2829680
32245680
45240678
Stop Event
node limit
Counts
67 → 65
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(*.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (exp.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))
(*.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(fabs.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))
(*.f64 (cbrt.f64 (sin.f64 im)) (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))
(*.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (sin.f64 im))) (cbrt.f64 (exp.f64 re)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(exp.f64 (*.f64 2 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 1 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1/3))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(fabs.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(exp.f64 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 1))
(+.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 0)
(cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 1 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (sin.f64 im)) (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) (pow.f64 (cbrt.f64 (exp.f64 re)) 2))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) (pow.f64 (exp.f64 2/3) re))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1/6) (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (cbrt.f64 (sin.f64 im))) (cbrt.f64 (exp.f64 re)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 4))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(exp.f64 (*.f64 2 (*.f64 (+.f64 re (log.f64 (sin.f64 im))) 1/3)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) 0)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(pow.f64 (exp.f64 2/3) (+.f64 re (log.f64 (sin.f64 im))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(-.f64 (+.f64 1 (*.f64 (sin.f64 im) (exp.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (sin.f64 im)) (exp.f64 re)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 im) 3) (pow.f64 (exp.f64 re) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(cbrt.f64 (*.f64 (pow.f64 (exp.f64 re) 3) (pow.f64 (sin.f64 im) 3)))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(*.f64 (sin.f64 im) (exp.f64 re))

eval51.0ms (1.2%)

Compiler

Compiled 3144 to 1060 computations (66.3% saved)

prune29.0ms (0.7%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New1971198
Fresh000
Picked011
Done055
Total1977204
Error
0b
Counts
204 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
24.7b
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
37.0b
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
37.3b
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
12.9b
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 86 to 57 computations (33.7% saved)

localize17.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im))))
0.3b
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
0.3b
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2)
0.6b
(cbrt.f64 (sin.f64 im))
Compiler

Compiled 63 to 15 computations (76.2% saved)

series506.0ms (12.2%)

Counts
3 → 0
Calls

9 calls:

TimeVariablePointExpression
16.0ms
im
@0
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2)
6.0ms
im
@0
(*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im))))
2.0ms
im
@-inf
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2)
2.0ms
im
@inf
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2)
1.0ms
im
@0
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
Compiler

Compiled 31735 to 26575 computations (16.3% saved)

rewrite51.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
585×pow1_binary64
543×add-log-exp_binary64
543×log1p-expm1-u_binary64
543×expm1-log1p-u_binary64
527×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0820
116019
2162219
Stop Event
node limit
Counts
3 → 51
Calls
Call 1
Inputs
(pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2)
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
(*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 im) 1/6) (sqrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (cbrt.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (sin.f64 im) 1/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 im) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (sqrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3) (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 im) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 im)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 im) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (sin.f64 im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (sin.f64 im) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (sin.f64 im) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (sin.f64 im) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (sin.f64 im) 1/6)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 im) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 im)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))))))

simplify37.0ms (0.9%)

Algorithm
egg-herbie
Rules
471×associate-*l*_binary64
427×associate-*r*_binary64
389×fma-def_binary64
386×distribute-rgt-in_binary64
370×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
093669
1173543
2525438
33610432
Stop Event
node limit
Counts
51 → 65
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) 1)
(*.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (pow.f64 (sin.f64 im) 1/6) (sqrt.f64 (sin.f64 im)))
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1)
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(exp.f64 (log.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(-.f64 (+.f64 1 (pow.f64 (sin.f64 im) 1/6)) 1)
(*.f64 (pow.f64 (sin.f64 im) 1/6) 1)
(*.f64 1 (pow.f64 (sin.f64 im) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (sqrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im)))))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3) (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3))
(pow.f64 (sin.f64 im) 1/6)
(pow.f64 (sqrt.f64 (sin.f64 im)) 1/3)
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 1)
(pow.f64 (cbrt.f64 (sin.f64 im)) 1/2)
(pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) 3)
(pow.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) 2)
(sqrt.f64 (cbrt.f64 (sin.f64 im)))
(fabs.f64 (pow.f64 (sin.f64 im) 1/6))
(log.f64 (exp.f64 (pow.f64 (sin.f64 im) 1/6)))
(expm1.f64 (log1p.f64 (pow.f64 (sin.f64 im) 1/6)))
(log1p.f64 (expm1.f64 (pow.f64 (sin.f64 im) 1/6)))
(exp.f64 (log.f64 (pow.f64 (sin.f64 im) 1/6)))
(-.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)
(pow.f64 (sin.f64 im) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 im)) 2/3)
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)
(pow.f64 (cbrt.f64 (sin.f64 im)) 1)
(pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)
(sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))
(fabs.f64 (cbrt.f64 (sin.f64 im)))
(log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))
(cbrt.f64 (sin.f64 im))
(expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))
(log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))
(exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(*.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (pow.f64 (sin.f64 im) 1/6) (sqrt.f64 (sin.f64 im)))
(*.f64 (sqrt.f64 (sin.f64 im)) (pow.f64 (sin.f64 im) 1/6))
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(*.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (cbrt.f64 (sin.f64 im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 4))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (cbrt.f64 (sin.f64 im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 4))
(sqrt.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 4))
(*.f64 (cbrt.f64 (sin.f64 im)) (cbrt.f64 (sin.f64 im)))
(pow.f64 (cbrt.f64 (sin.f64 im)) 2)
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(exp.f64 (log.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2))))
(+.f64 (+.f64 1 (cbrt.f64 (pow.f64 (sin.f64 im) 2))) -1)
(+.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 0)
(cbrt.f64 (pow.f64 (sin.f64 im) 2))
(-.f64 (+.f64 1 (pow.f64 (sin.f64 im) 1/6)) 1)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 (pow.f64 (sin.f64 im) 1/6) 1)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 1 (pow.f64 (sin.f64 im) 1/6))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) (cbrt.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6))
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))) (sqrt.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im)))))
(*.f64 (pow.f64 1 1/3) (pow.f64 (sin.f64 im) 1/6))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(*.f64 (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3) (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/4)) (cbrt.f64 (pow.f64 (sin.f64 im) 1/4)))
(pow.f64 (pow.f64 (pow.f64 (sin.f64 im) 1/4) 1/6) 4)
(pow.f64 (sin.f64 im) 1/6)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sqrt.f64 (sin.f64 im)) 1/3)
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 1)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(pow.f64 (cbrt.f64 (sin.f64 im)) 1/2)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 1/6)) 3)
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(pow.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) 2)
(cbrt.f64 (sqrt.f64 (sin.f64 im)))
(sqrt.f64 (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(fabs.f64 (pow.f64 (sin.f64 im) 1/6))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(log.f64 (exp.f64 (pow.f64 (sin.f64 im) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(expm1.f64 (log1p.f64 (pow.f64 (sin.f64 im) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(log1p.f64 (expm1.f64 (pow.f64 (sin.f64 im) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(exp.f64 (log.f64 (pow.f64 (sin.f64 im) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (sin.f64 im) 1/6) 1))
(+.f64 (pow.f64 (sin.f64 im) 1/6) 0)
(pow.f64 (sin.f64 im) 1/6)
(-.f64 (+.f64 1 (cbrt.f64 (sin.f64 im))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (sin.f64 im) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (sqrt.f64 (sin.f64 im)) 2/3)
(*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im))))
(pow.f64 (pow.f64 (sqrt.f64 (sin.f64 im)) 1/6) 4)
(pow.f64 (pow.f64 (sin.f64 im) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (sin.f64 im)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(pow.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)) 1/2)
(sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (sin.f64 im))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(sqrt.f64 (cbrt.f64 (pow.f64 (sin.f64 im) 2)))
(fabs.f64 (cbrt.f64 (sin.f64 im)))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(log.f64 (exp.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(cbrt.f64 (sin.f64 im))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(expm1.f64 (log1p.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(log1p.f64 (expm1.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))
(exp.f64 (log.f64 (cbrt.f64 (sin.f64 im))))
(+.f64 1 (-.f64 (cbrt.f64 (sin.f64 im)) 1))
(+.f64 (cbrt.f64 (sin.f64 im)) 0)
(cbrt.f64 (sin.f64 im))

eval31.0ms (0.8%)

Compiler

Compiled 2335 to 849 computations (63.6% saved)

prune20.0ms (0.5%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New1190119
Fresh000
Picked011
Done066
Total1197126
Error
0b
Counts
126 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
24.7b
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
37.0b
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
1.0b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
37.3b
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
12.9b
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
Compiler

Compiled 86 to 57 computations (33.7% saved)

regimes24.0ms (0.6%)

Accuracy

Total -42.7b remaining (-182089.7%)

Threshold costs -42.7b (-182089.7%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(exp.f64 (+.f64 re (log.f64 (sin.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 3))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (sin.f64 im))) 2)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 im)) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))) 2) (cbrt.f64 (*.f64 (sin.f64 im) (exp.f64 re))))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (sin.f64 im))) (cbrt.f64 (sqrt.f64 (sin.f64 im)))) 2) (*.f64 (cbrt.f64 (sin.f64 im)) (exp.f64 re)))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Calls

5 calls:

7.0ms
im
4.0ms
(sin.f64 im)
4.0ms
re
4.0ms
(*.f64 (exp.f64 re) (sin.f64 im))
2.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 95 to 45 computations (52.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

soundness0.0ms (0%)

end14.0ms (0.3%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

Profiling

Loading profile data...