Jmat.Real.lambertw, newton loop step

Time bar (total: 12.4s)

analyze81.0ms (0.7%)

Memory
-0.1MiB live, 31.2MiB allocated
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
50%50%50%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
62.5%62.4%37.5%0.1%0%0%0%7
68.8%68.7%31.2%0.1%0%0%0%8
68.8%68.7%31.2%0.1%0%0%0%9
71.9%71.8%28.1%0.1%0%0%0%10
71.9%71.8%28.1%0.1%0%0%0%11
73.4%73.4%26.5%0.1%0%0%0%12
Compiler

Compiled 37 to 19 computations (48.6% saved)

sample12.2s (98.3%)

Memory
6.7MiB live, 3 491.6MiB allocated
Samples
567.0ms6 433×0valid-sollya
365.0ms6 433×0valid-baseline
351.0ms6 433×0valid-rival
314.0ms1 789×1valid-baseline
226.0ms1 789×1valid-rival
191.0ms1 789×1valid-sollya
2.0ms34×0valid-rival+baseline-inf
Bogosity

preprocess95.0ms (0.8%)

Memory
5.7MiB live, 20.9MiB allocated
Algorithm
egg-herbie
Rules
598×div-sub
435×times-frac
262×distribute-lft-neg-out
254×sub-neg
250×fma-define
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
033497
188477
2291433
31165366
44844350
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)))))))
(neg.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (*.f64 (+.f64 (neg.f64 wj) #s(literal 1 binary64)) (exp.f64 (neg.f64 wj)))))
(-.f64 (neg.f64 wj) (/.f64 (fma.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)) (neg.f64 x)) (*.f64 (exp.f64 (neg.f64 wj)) (fma.f64 #s(literal -1 binary64) wj #s(literal 1 binary64)))))
(-.f64 (*.f64 (/.f64 (+.f64 x (/.f64 wj (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) (exp.f64 wj)) wj)
(-.f64 (/.f64 (-.f64 wj (neg.f64 (*.f64 x (exp.f64 wj)))) (-.f64 #s(literal 1 binary64) wj)) wj)
(-.f64 (/.f64 (+.f64 wj (*.f64 x (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) wj)
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 (neg.f64 x))) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 (neg.f64 x) (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(+.f64 wj (/.f64 (+.f64 wj (/.f64 x (exp.f64 wj))) (-.f64 #s(literal -1 binary64) wj)))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)))))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (*.f64 (+.f64 (neg.f64 wj) #s(literal 1 binary64)) (exp.f64 (neg.f64 wj))))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (fma.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)) (neg.f64 x)) (*.f64 (exp.f64 (neg.f64 wj)) (fma.f64 #s(literal -1 binary64) wj #s(literal 1 binary64))))))
(-.f64 wj (*.f64 (/.f64 (+.f64 x (/.f64 wj (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) (exp.f64 wj)))
(+.f64 wj (/.f64 (-.f64 (neg.f64 wj) (*.f64 x (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)))
(+.f64 wj (/.f64 (+.f64 wj (*.f64 x (exp.f64 wj))) (+.f64 wj #s(literal -1 binary64))))
(neg.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))))
(neg.f64 (-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 (neg.f64 x))) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj)))))
(+.f64 (neg.f64 wj) (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))) wj)
(-.f64 (/.f64 (-.f64 wj (/.f64 (neg.f64 x) (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))) wj)
(-.f64 (/.f64 (+.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))) wj)
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (*.f64 (+.f64 x #s(literal 1 binary64)) (exp.f64 x))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (*.f64 (exp.f64 x) (+.f64 x #s(literal 1 binary64)))))
(-.f64 x (/.f64 (-.f64 x (/.f64 wj (exp.f64 x))) (+.f64 x #s(literal 1 binary64))))
(+.f64 x (/.f64 (-.f64 x (/.f64 wj (exp.f64 x))) (-.f64 #s(literal -1 binary64) x)))
Compiler

Compiled 18 to 8 computations (55.6% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.8%
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Compiler

Compiled 36 to 16 computations (55.6% saved)

simplify15.0ms (0.1%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
egg-herbie
Rules
128×unsub-neg
64×neg-mul-1
36×distribute-neg-out
31×distribute-lft-neg-in
23×remove-double-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01470
12070
23270
34770
47770
510570
612370
718070
832670
943570
1044070
1144770
1245270
1345970
1446370
1546470
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(+.f64 wj (/.f64 (-.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))

soundness1.0ms (0%)

Memory
-15.5MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 18 to 8 computations (55.6% saved)

preprocess25.0ms (0.2%)

Memory
-1.1MiB live, 32.2MiB allocated
Compiler

Compiled 110 to 54 computations (50.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...