Details

Time bar (total: 7.2s)

analyze7.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 66 to 48 computations (27.3% saved)

sample2.3s (32%)

Results
2.3s8256×body128valid
Compiler

Compiled 132 to 96 computations (27.3% saved)

preprocess73.0ms (1%)

Algorithm
egg-herbie
Rules
696×associate-/l*_binary32
691×associate-/l/_binary32
677×times-frac_binary32
373×associate-/r/_binary32
359×associate-/r*_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0102374
1361374
21272352
055
155
Stop Event
unsound
node limit
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
914×times-frac_binary32
551×associate-/l*_binary32
460×associate-/l/_binary32
360×associate-*l/_binary32
311×associate-/r/_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02034
15434
217332
380032
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
Compiler

Compiled 154 to 106 computations (31.2% saved)

localize70.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.3b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.3b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
0.8b
(sinh.f32 (/.f32 1 v))

series39.0ms (0.5%)

Counts
4 → 24
Calls

24 calls:

5.0ms
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
v
0
4.0ms
(sinh.f32 (/.f32 1 v))
v
0
3.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
cosTheta_O
-inf
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
sinTheta_O
-inf
2.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
sinTheta_i
-inf

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
292×log1p-udef_binary32
163×add-sqr-sqrt_binary32
152×log1p-expm1-u_binary32
152×expm1-log1p-u_binary32
150×add-cbrt-cube_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01632
133232
2435632
Stop Event
node limit
Counts
4 → 131

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
509×unswap-sqr_binary32
478×times-frac_binary32
374×fma-def_binary32
322×associate-*l/_binary32
302×associate-/r*_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050408
1125392
2279392
3636392
41902392
Stop Event
node limit
Counts
155 → 149

prune329.0ms (4.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New13514149
Fresh011
Picked101
Done000
Total13615151
Error
0.1b
Counts
151 → 15
Alt Table
StatusErrorProgram
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)) 3) 1/3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (/.f32 cosTheta_i (sqrt.f32 v)) (/.f32 cosTheta_O (sqrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (expm1.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (/.f32 cosTheta_i (cbrt.f32 (*.f32 v v))) (/.f32 cosTheta_O (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 v -1/2) (/.f32 (*.f32 cosTheta_i cosTheta_O) (sqrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (-.f32 (exp.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))) 1))
0.6b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) (pow.f32 (cbrt.f32 (sinh.f32 (/.f32 1 v))) 2)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) 2) (*.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 4940 to 2497 computations (49.5% saved)

localize64.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
0.3b
(*.f32 cosTheta_O (/.f32 1 v))
0.3b
(*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v)
0.8b
(sinh.f32 (/.f32 1 v))

series7.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

2.0ms
(*.f32 cosTheta_O (/.f32 1 v))
v
-inf
1.0ms
(*.f32 cosTheta_O (/.f32 1 v))
cosTheta_O
-inf
1.0ms
(*.f32 cosTheta_O (/.f32 1 v))
cosTheta_O
inf
1.0ms
(*.f32 cosTheta_O (/.f32 1 v))
cosTheta_O
0
1.0ms
(*.f32 cosTheta_O (/.f32 1 v))
v
0

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
495×log1p-expm1-u_binary32
495×expm1-log1p-u_binary32
405×unpow-prod-down_binary32
272×log-prod_binary32
142×pow2_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064
11204
214344
Stop Event
node limit
Counts
1 → 30

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0496
Stop Event
saturated
Counts
54 → 30

prune292.0ms (4.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1267133
Fresh6814
Picked101
Done000
Total13315148
Error
0.0b
Counts
148 → 15
Alt Table
StatusErrorProgram
9.2b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (exp.f32 (log.f32 (/.f32 cosTheta_O v))))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (expm1.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (/.f32 cosTheta_i (cbrt.f32 (*.f32 v v))) (/.f32 cosTheta_O (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
7.6b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (pow.f32 (/.f32 (pow.f32 cosTheta_O 3) (pow.f32 v 3)) 1/3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) 2) (*.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
4.1b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (log.f32 (pow.f32 (pow.f32 (exp.f32 2) (sinh.f32 (/.f32 1 v))) v)))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (cbrt.f32 (*.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3) (pow.f32 v 3))))
Compiler

Compiled 4684 to 2806 computations (40.1% saved)

localize69.0ms (1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 cosTheta_O (/.f32 1 v))
0.3b
(*.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3) (pow.f32 v 3))
0.7b
(pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)
0.8b
(sinh.f32 (/.f32 1 v))

series23.0ms (0.3%)

Counts
2 → 24
Calls

6 calls:

10.0ms
(*.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3) (pow.f32 v 3))
v
0
8.0ms
(pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)
v
0
1.0ms
(*.f32 (pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3) (pow.f32 v 3))
v
inf
1.0ms
(pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)
v
inf
1.0ms
(pow.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) 3)
v
-inf

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
877×log1p-expm1-u_binary32
877×expm1-log1p-u_binary32
101×add-sqr-sqrt_binary32
98×add-cbrt-cube_binary32
95×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
123227
2258227
Stop Event
node limit
Counts
2 → 43

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
953×fma-def_binary32
579×associate-*l*_binary32
451×associate-*r*_binary32
324×associate-/r*_binary32
178×distribute-lft-in_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
049456
1128440
2319440
3978440
44318440
Stop Event
node limit
Counts
67 → 61

prune329.0ms (4.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1221123
Fresh11314
Picked101
Done000
Total12414138
Error
0.0b
Counts
138 → 14
Alt Table
StatusErrorProgram
9.2b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (exp.f32 (log.f32 (/.f32 cosTheta_O v))))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (expm1.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (/.f32 cosTheta_i (cbrt.f32 (*.f32 v v))) (/.f32 cosTheta_O (cbrt.f32 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (cbrt.f32 (*.f32 (exp.f32 (*.f32 3 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) (pow.f32 v 3))))
7.6b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (pow.f32 (/.f32 (pow.f32 cosTheta_O 3) (pow.f32 v 3)) 1/3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (*.f32 (*.f32 (expm1.f32 (log1p.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) 2) (*.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
4.1b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (log.f32 (pow.f32 (pow.f32 (exp.f32 2) (sinh.f32 (/.f32 1 v))) v)))
Compiler

Compiled 4972 to 3163 computations (36.4% saved)

localize65.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f32 cosTheta_O (/.f32 1 v))
0.3b
(*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))
0.5b
(exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))
0.8b
(sinh.f32 (/.f32 1 v))

series15.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

5.0ms
(exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))
v
0
5.0ms
(*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))
v
0
1.0ms
(exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))
v
inf
1.0ms
(*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))
v
inf
1.0ms
(exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))))
v
-inf

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
761×log1p-expm1-u_binary32
761×expm1-log1p-u_binary32
152×log1p-udef_binary32
87×add-sqr-sqrt_binary32
80×add-cbrt-cube_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
118624
2212624
Stop Event
node limit
Counts
2 → 56

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
797×fma-def_binary32
519×associate-*l*_binary32
351×associate-*r*_binary32
333×associate-/l/_binary32
289×unswap-sqr_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028384
167368
2142368
3330368
4967368
54068368
Stop Event
node limit
Counts
80 → 47

prune258.0ms (3.6%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1045109
Fresh31013
Picked101
Done000
Total10815123
Error
0.0b
Counts
123 → 15
Alt Table
StatusErrorProgram
9.2b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (exp.f32 (log.f32 (/.f32 cosTheta_O v))))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (pow.f32 (pow.f32 (sinh.f32 (/.f32 1 v)) 3) 1/3) 2) v))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (expm1.f32 (log1p.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.6b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (pow.f32 (cbrt.f32 (/.f32 cosTheta_O v)) 3))) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (expm1.f32 (log1p.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (cbrt.f32 (*.f32 (exp.f32 (*.f32 3 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2)))) (pow.f32 v 3))))
7.6b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (pow.f32 (/.f32 (pow.f32 cosTheta_O 3) (pow.f32 v 3)) 1/3))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (exp.f32 (log.f32 (sinh.f32 (/.f32 1 v)))) 2) v))
0.4b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 v (-.f32 (exp.f32 (/.f32 1 v)) (exp.f32 (/.f32 -1 v)))))
0.5b
(*.f32 (/.f32 (/.f32 1/2 (sinh.f32 (/.f32 1 v))) (pow.f32 (exp.f32 sinTheta_O) (/.f32 sinTheta_i v))) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) cosTheta_O))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (pow.f32 (E.f32) (log.f32 (*.f32 v (*.f32 2 (sinh.f32 (/.f32 1 v)))))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (pow.f32 (cbrt.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2))) 3))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (expm1.f32 (log1p.f32 (/.f32 cosTheta_O v))))) (exp.f32 (log.f32 (*.f32 (sinh.f32 (/.f32 1 v)) (*.f32 v 2)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 1 v)))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 v 2)) 2) (*.f32 (cbrt.f32 (*.f32 v 2)) (sinh.f32 (/.f32 1 v)))))
0.5b
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (pow.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) 2) (*.f32 (cbrt.f32 (*.f32 cosTheta_i cosTheta_O)) (/.f32 1 v)))) (*.f32 (*.f32 (sinh.f32 (/.f32 1 v)) 2) v))
Compiler

Compiled 3690 to 2175 computations (41.1% saved)

regimes2.5s (34.4%)

Accuracy

Total 0.3b remaining (81%)

Threshold costs 0.3b (81%)

Counts
225 → 1
Compiler

Compiled 58493 to 43145 computations (26.2% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary32
+-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02445
13745
24745
35445
45945
56145
Stop Event
saturated

end465.0ms (6.5%)

Stop Event
fuel
Remove

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 747 to 557 computations (25.4% saved)

Profiling

Loading profile data...