Details

Time bar (total: 2.3s)

analyze58.0ms (2.5%)

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)

sample1.8s (80%)

Results
737.0ms6058×body256valid
546.0ms1455×body1024valid
239.0ms724×body1024infinite
161.0ms737×body512valid
72.0ms345×body512infinite
62.0ms504×body256infinite
3.0msbody2048valid
Bogosity

preprocess5.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01130
11330
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)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
1915
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)

localize8.0ms (0.3%)

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)

series2.0ms (0.1%)

Counts
1 → 24
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))
0.0ms
re
@0
(*.f64 (exp.f64 re) (sin.f64 im))
0.0ms
im
@inf
(*.f64 (exp.f64 re) (sin.f64 im))
0.0ms
re
@-inf
(*.f64 (exp.f64 re) (sin.f64 im))

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
24×bool.json-1
22×rational.json-simplify-2
20×rational.json-1
20×rational.json-2
20×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
13715
26515
36915
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (exp.f64 re) (sin.f64 im)) (*.f64 (exp.f64 re) (sin.f64 im)))))))

simplify13.0ms (0.6%)

Algorithm
egg-herbie
Rules
112×rational.json-simplify-1
72×rational.json-simplify-2
60×rational.json-simplify-33
20×rational.json-simplify-31
rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050634
196634
2146634
3187634
4203634
5207634
Stop Event
saturated
Counts
26 → 22
Calls
Call 1
Inputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
Outputs
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1 re)) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))
(+.f64 (sin.f64 im) (+.f64 (*.f64 (sin.f64 im) re) (+.f64 (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 1 re)) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))) (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 im) (pow.f64 re 2))) (*.f64 1/6 (*.f64 (sin.f64 im) (pow.f64 re 3)))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (exp.f64 re) im)
(*.f64 im (exp.f64 re))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (*.f64 (exp.f64 re) im)))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (exp.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 (exp.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/5040 (*.f64 (exp.f64 re) (pow.f64 im 7))) (*.f64 (exp.f64 re) im))))
(+.f64 (*.f64 (exp.f64 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (exp.f64 re) (*.f64 1/120 (pow.f64 im 5))) (+.f64 (*.f64 im (exp.f64 re)) (*.f64 (exp.f64 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(*.f64 (sin.f64 im) (exp.f64 re))
(+.f64 (*.f64 (exp.f64 re) (sin.f64 im)) 0)
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)
(+.f64 0 (*.f64 (exp.f64 re) (sin.f64 im)))
(+.f64 (*.f64 (sin.f64 im) (exp.f64 re)) 0)

eval6.0ms (0.2%)

Compiler

Compiled 308 to 162 computations (47.4% saved)

prune4.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New18422
Fresh000
Picked011
Done000
Total18523
Error
0.0b
Counts
23 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
22.9b
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
22.9b
(*.f64 (sin.f64 im) (+.f64 re 1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.8b
(*.f64 (exp.f64 re) im)
22.6b
(sin.f64 im)
Compiler

Compiled 34 to 23 computations (32.4% saved)

localize3.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series2.0ms (0.1%)

Counts
1 → 4
Calls

6 calls:

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

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
22×bool.json-1
20×rational.json-simplify-2
18×rational.json-1
18×rational.json-2
18×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
13311
25911
36311
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 re) im) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (exp.f64 re) im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (exp.f64 re) im) (*.f64 (exp.f64 re) im))))))

simplify8.0ms (0.3%)

Algorithm
egg-herbie
Rules
62×rational.json-simplify-1
34×rational.json-simplify-2
34×rational.json-simplify-33
rational.json-simplify-31
rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025146
143146
267146
392146
4106146
5109146
6111146
Stop Event
saturated
Counts
6 → 14
Calls
Call 1
Inputs
im
(+.f64 (*.f64 re im) im)
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(+.f64 0 (*.f64 (exp.f64 re) im))
Outputs
im
(+.f64 (*.f64 re im) im)
(+.f64 im (*.f64 im re))
(+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im))
(+.f64 (*.f64 im re) (+.f64 im (*.f64 1/2 (*.f64 im (pow.f64 re 2)))))
(+.f64 im (+.f64 (*.f64 im re) (*.f64 1/2 (*.f64 im (pow.f64 re 2)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 3) im)) (+.f64 (*.f64 re im) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) im)) im)))
(+.f64 (+.f64 (*.f64 1/6 (*.f64 im (pow.f64 re 3))) (*.f64 im re)) (+.f64 im (*.f64 1/2 (*.f64 im (pow.f64 re 2)))))
(+.f64 (+.f64 im (*.f64 1/2 (*.f64 im (pow.f64 re 2)))) (+.f64 (*.f64 im re) (*.f64 im (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (+.f64 (+.f64 im (*.f64 im re)) (*.f64 im (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (+.f64 im (*.f64 im re)) (+.f64 (*.f64 1/2 (*.f64 im (pow.f64 re 2))) (*.f64 im (*.f64 1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 (exp.f64 re) im) 0)
(+.f64 (*.f64 im (exp.f64 re)) 0)
(+.f64 0 (*.f64 (exp.f64 re) im))
(+.f64 (*.f64 im (exp.f64 re)) 0)

localize7.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 16 to 9 computations (43.8% saved)

series2.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
24×bool.json-1
22×rational.json-simplify-2
22×rational.json-simplify-1
20×rational.json-1
20×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
14117
26617
37117
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) (+.f64 re 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 im) (+.f64 re 1)))))))

simplify12.0ms (0.5%)

Algorithm
egg-herbie
Rules
66×rational.json-simplify-1
42×rational.json-simplify-2
40×rational.json-simplify-33
12×rational.json-simplify-31
rational.json-simplify-19
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037594
162594
291594
3116594
4128594
5129594
Stop Event
saturated
Counts
26 → 22
Calls
Call 1
Inputs
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/5040 (*.f64 (+.f64 1 re) (pow.f64 im 7))))))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (sin.f64 im) (+.f64 1 re))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
Outputs
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (*.f64 (+.f64 1 re) im)))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5))))
(+.f64 (*.f64 (+.f64 1 re) im) (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5)))))
(+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/5040 (*.f64 (+.f64 1 re) (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5))) (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 (+.f64 1 re) (*.f64 -1/5040 (pow.f64 im 7))))))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5))) (+.f64 (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 1 re) (*.f64 -1/5040 (pow.f64 im 7)))) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 (+.f64 1 re) im) (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/5040 (pow.f64 im 7))) (+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/6 (pow.f64 im 3))) (*.f64 (+.f64 1 re) (*.f64 1/120 (pow.f64 im 5))))))
(+.f64 (+.f64 (*.f64 (+.f64 1 re) im) (*.f64 -1/6 (*.f64 (+.f64 1 re) (pow.f64 im 3)))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 re) (pow.f64 im 5))) (*.f64 (+.f64 1 re) (*.f64 -1/5040 (pow.f64 im 7)))))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(sin.f64 im)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
(*.f64 (+.f64 1 re) (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 0)
(+.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)
(+.f64 0 (*.f64 (sin.f64 im) (+.f64 re 1)))
(+.f64 (*.f64 (+.f64 1 re) (sin.f64 im)) 0)

localize8.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 17 to 5 computations (70.6% saved)

series2.0ms (0.1%)

Counts
2 → 11
Calls

12 calls:

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

rewrite6.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
26×rational.json-simplify-2
26×rational.json-simplify-1
26×bool.json-1
22×rational.json-1
22×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0828
14028
27328
37928
48028
Stop Event
saturated
Counts
2 → 6
Calls
Call 1
Inputs
(*.f64 (sin.f64 im) re)
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 im) re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 im) re) (*.f64 (sin.f64 im) re))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 im) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (sin.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 im) (+.f64 re 1)) (*.f64 (sin.f64 im) (+.f64 re 1)))))))

simplify43.0ms (1.9%)

Algorithm
egg-herbie
Rules
1022×rational.json-simplify-31
750×rational.json-simplify-2
138×rational.json-simplify-1
64×rational.json-simplify-33
42×rational.json-simplify-27
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055545
1107545
2161545
3226545
4278545
5330545
6445545
7705545
8835545
9849545
10853545
11857545
12862545
131074545
141173545
151191545
161191545
171223545
181261545
Stop Event
saturated
Counts
17 → 36
Calls
Call 1
Inputs
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re im))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im)))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im))))
(*.f64 (+.f64 1 re) im)
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 re) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 1 re) im))))
(sin.f64 im)
(*.f64 (sin.f64 im) re)
(*.f64 (sin.f64 im) re)
(+.f64 (*.f64 (sin.f64 im) re) 0)
(+.f64 0 (*.f64 (sin.f64 im) re))
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 (+.f64 re 1) (sin.f64 im))
Outputs
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (*.f64 re im))
(+.f64 (*.f64 re im) (*.f64 re (*.f64 -1/6 (pow.f64 im 3))))
(+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im)))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 re im) (*.f64 1/120 (*.f64 re (pow.f64 im 5)))))
(+.f64 (+.f64 (*.f64 re im) (*.f64 re (*.f64 -1/6 (pow.f64 im 3)))) (*.f64 (pow.f64 im 5) (*.f64 re 1/120)))
(+.f64 (*.f64 -1/5040 (*.f64 re (pow.f64 im 7))) (+.f64 (*.f64 -1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/120 (*.f64 re (pow.f64 im 5))) (*.f64 re im))))
(+.f64 (+.f64 (*.f64 re (*.f64 -1/5040 (pow.f64 im 7))) (*.f64 re (*.f64 -1/6 (pow.f64 im 3)))) (+.f64 (*.f64 re im) (*.f64 1/120 (*.f64 re (pow.f64 im 5)))))
(+.f64 (+.f64 (*.f64 re im) (*.f64 1/120 (*.f64 re (pow.f64 im 5)))) (+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (+.f64 (*.f64 re im) (*.f64 1/120 (*.f64 re (pow.f64 im 5)))) (*.f64 re (*.f64 -1/5040 (pow.f64 im 7)))))
(+.f64 (*.f64 re (*.f64 -1/6 (pow.f64 im 3))) (+.f64 (*.f64 re im) (+.f64 (*.f64 (pow.f64 im 5) (*.f64 re 1/120)) (*.f64 re (*.f64 -1/5040 (pow.f64 im 7))))))
(*.f64 (+.f64 1 re) im)
(*.f64 im (+.f64 re 1))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (*.f64 (+.f64 1 re) im))
(+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 re -1/6))))
(+.f64 (*.f64 im (+.f64 re 1)) (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re 1))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (*.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 re -1/6))) (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120)))))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 re -1/6))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120)))))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re 1))) (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re 1)))))
(+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re 1))) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120)))))
(+.f64 (*.f64 (-.f64 (*.f64 -1/6 re) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 (+.f64 (*.f64 1/120 re) 1/120) (pow.f64 im 5)) (+.f64 (*.f64 (-.f64 (*.f64 -1/5040 re) 1/5040) (pow.f64 im 7)) (*.f64 (+.f64 1 re) im))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 re -1/6))) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))) (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 re -1/5040))))))
(+.f64 (*.f64 (pow.f64 im 3) (+.f64 -1/6 (*.f64 re -1/6))) (+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 re -1/5040))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re 1))) (+.f64 (*.f64 im (+.f64 re 1)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 5) (+.f64 re 1))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 re -1/5040))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 3) (+.f64 re 1))) (+.f64 (+.f64 (*.f64 im (+.f64 re 1)) (*.f64 (pow.f64 im 5) (+.f64 1/120 (*.f64 re 1/120)))) (*.f64 (pow.f64 im 7) (+.f64 -1/5040 (*.f64 re -1/5040)))))
(sin.f64 im)
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(*.f64 (sin.f64 im) re)
(*.f64 re (sin.f64 im))
(+.f64 (*.f64 (sin.f64 im) re) 0)
(+.f64 (*.f64 re (sin.f64 im)) 0)
(+.f64 0 (*.f64 (sin.f64 im) re))
(+.f64 (*.f64 re (sin.f64 im)) 0)
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (sin.f64 im) (+.f64 re 1)) 1)
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 1 (*.f64 (sin.f64 im) (+.f64 re 1)))
(*.f64 (+.f64 re 1) (sin.f64 im))
(*.f64 (sin.f64 im) (+.f64 re 1))

eval20.0ms (0.9%)

Compiler

Compiled 1223 to 814 computations (33.4% saved)

prune10.0ms (0.5%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New70272
Fresh000
Picked101
Done044
Total71677
Error
0.0b
Counts
77 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
43.5b
(+.f64 (*.f64 re im) im)
22.9b
(*.f64 (sin.f64 im) (+.f64 re 1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.8b
(*.f64 (exp.f64 re) im)
22.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 35 to 24 computations (31.4% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 12 to 4 computations (66.7% saved)

series2.0ms (0.1%)

Counts
1 → 21
Calls

6 calls:

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

rewrite5.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
22×rational.json-simplify-1
22×bool.json-1
20×rational.json-simplify-2
18×rational.json-1
18×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
13013
25613
36613
46713
56813
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(+.f64 (*.f64 re im) im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 im (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 im (*.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 im (*.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) im)))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 im (*.f64 re im)) (+.f64 im (*.f64 re im)))))))

simplify11.0ms (0.5%)

Algorithm
egg-herbie
Rules
94×rational.json-simplify-31
88×rational.json-simplify-2
12×rational.json-simplify-27
12×rational.json-simplify-9
rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
019373
132373
241337
361337
487337
5113337
6146337
7151337
8152337
Stop Event
saturated
Counts
25 → 14
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 re im)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 re im))
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 (+.f64 1 re) im)
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (+.f64 re 1))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(*.f64 1 (+.f64 im (*.f64 re im)))
(*.f64 (+.f64 re 1) im)
Outputs
im
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 re im)
(*.f64 im re)
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(+.f64 im (*.f64 re im))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 1 re) im)
(+.f64 im (*.f64 im re))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 -1 (*.f64 im (-.f64 (*.f64 -1 re) 1)))
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 im (+.f64 re 1))
(+.f64 im (*.f64 im re))
(*.f64 (+.f64 im (*.f64 re im)) 1)
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 1 (+.f64 im (*.f64 re im)))
(*.f64 im (*.f64 -1 (+.f64 -1 (*.f64 re -1))))
(*.f64 im (-.f64 1 (*.f64 re -1)))
(*.f64 im (+.f64 1 (*.f64 re 1)))
(*.f64 (+.f64 re 1) im)
(+.f64 im (*.f64 im re))

eval2.0ms (0.1%)

Compiler

Compiled 80 to 43 computations (46.3% saved)

prune7.0ms (0.3%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New13114
Fresh011
Picked011
Done044
Total13720
Error
0.0b
Counts
20 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
43.5b
(+.f64 (*.f64 re im) im)
22.9b
(*.f64 (sin.f64 im) (+.f64 re 1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.8b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
22.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 40 to 27 computations (32.5% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done055
Total077
Error
0.0b
Counts
7 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
43.5b
(+.f64 (*.f64 re im) im)
22.9b
(*.f64 (sin.f64 im) (+.f64 re 1))
0.0b
(*.f64 (exp.f64 re) (sin.f64 im))
20.8b
(*.f64 (exp.f64 re) im)
61.4b
(*.f64 re im)
22.6b
(sin.f64 im)
43.2b
im
Compiler

Compiled 40 to 27 computations (32.5% saved)

regimes23.0ms (1%)

Counts
8 → 1
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(sin.f64 im)
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (+.f64 re 1))
(*.f64 (exp.f64 re) (sin.f64 im))
(+.f64 (sin.f64 im) (*.f64 (sin.f64 im) re))
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
Calls

5 calls:

5.0ms
(sin.f64 im)
5.0ms
im
5.0ms
re
5.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 56 to 28 computations (50% saved)

regimes55.0ms (2.4%)

Counts
6 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(sin.f64 im)
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (+.f64 re 1))
Outputs
(*.f64 (exp.f64 re) im)
(*.f64 (sin.f64 im) (+.f64 re 1))
Calls

4 calls:

25.0ms
(sin.f64 im)
17.0ms
im
8.0ms
re
3.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.3b2re
8.9b4im
0.3b2(exp.f64 re)
9.6b5(sin.f64 im)
Compiler

Compiled 37 to 20 computations (45.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.3764553290949155e-66
Compiler

Compiled 12 to 9 computations (25% saved)

regimes51.0ms (2.2%)

Counts
5 → 2
Calls
Call 1
Inputs
im
(*.f64 re im)
(+.f64 (*.f64 re im) im)
(sin.f64 im)
(*.f64 (exp.f64 re) im)
Outputs
(*.f64 (exp.f64 re) im)
(sin.f64 im)
Calls

4 calls:

23.0ms
(sin.f64 im)
15.0ms
im
8.0ms
re
3.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.4b2re
8.9b4im
0.4b2(exp.f64 re)
9.6b5(sin.f64 im)
Compiler

Compiled 31 to 17 computations (45.2% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.3764553290949155e-66
Compiler

Compiled 12 to 9 computations (25% saved)

regimes13.0ms (0.6%)

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

3 calls:

4.0ms
(sin.f64 im)
4.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
22.6b1re
22.6b1im
22.6b1(sin.f64 im)
Compiler

Compiled 23 to 12 computations (47.8% saved)

regimes7.0ms (0.3%)

Accuracy

Total -18.6b remaining (-43%)

Threshold costs -18.6b (-43%)

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

2 calls:

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

Compiled 17 to 8 computations (52.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01991
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (sin.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (sin.f64 im))
(sin.f64 im)
im
Outputs
(*.f64 (exp.f64 re) (sin.f64 im))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (*.f64 (sin.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 0) (*.f64 (exp.f64 re) im) (sin.f64 im))
(sin.f64 im)
im
Compiler

Compiled 44 to 29 computations (34.1% saved)

soundness0.0ms (0%)

end25.0ms (1.1%)

Compiler

Compiled 36 to 15 computations (58.3% saved)

Profiling

Loading profile data...